ファイアウォールでのポート開放(TCP 1433)
ネットワークを介して SQL Server へ接続するには、ファイアウォールでのポートの開放(受信 の規則/例外の追加)も必要になります。既定のインスタンスとして SQL Server 2012 をイン ストールしている場合は、TCP 1433 ポートが利用されるので、このポートを開放しておく必要が あります(Windows OS をインストールした直後は、既定でファイアウォールが有効になってい るため)。
Let's Try
それでは、ファイアウォールでのポートの開放を設定してみましょう。
1. まずは、コントロール パネルを開き、[システムとセキュリティ]から[Windows ファイ アウォール]をクリックします。
1
2
3. [セキュリティが強化された Windows ファイアウォール]ウィンドウが表示されたら、[受 信の規則]を右クリックして[新しい規則]をクリックします。
4. 最初の[規則の種類]ページでは[ポート]を選択し、[次へ]ボタンをクリックします。
1
1
1
2
5. [プロトコルおよびポート]では「TCP」を選択して「特定のローカル ポート]へ「1433」
を入力し、[次へ]ボタンをクリックします。
6. 次の[操作]ページでは「接続を許可する」を選択し、[次へ]ボタンをクリックします。
7. 次の[プロファイル]ページでは任意の適用場所を選択します(ドメイン内でのみ接続を許可 したい場合には[ドメイン]のみをチェックします)。
1
2
3
1
2
8. 次の[名前]ページでは任意の規則名(TCP 1433 など)を設定すれば、ポートの開放が完了 です。
ホスト名解決や OS レベルでの認証も必要
ネットワーク接続を有効化して、TCP 1433 ポートを開放すれば、IP アドレス レベルでの接続が できるようになります。Management Studio やアプリケーションの接続文字列には、次のように IP アドレスを指定することが可能です。
2
ドメイン内でのみ接続を許可したい場合 は 「ドメイン」 のみをチェックする 1
ドメイン外など、異なるネットワー クからの接続も許可したい場合には
「パブリック」 もチェックする
1
2
SQL Server の名前(ホスト名)で接続したい場合には、ホスト名解決(DNS サーバーや hosts ファイルなどを利用したホスト名から IP アドレスへの変換)も必要になります。
また、Windows 認証での接続の場合には、Windows OS レベルでの認証も必要になるので、ドメ イン ユーザーを利用したり、異なるドメイン/ワークグループの場合には、同じユーザー名/パ スワードのアカウントが必要になります。
名前付きインスタンス(動的ポート、UDP 1434)
SQL Server を名前付きインスタンスとしてインストールしている場合には、TCP 1433 ポートが 利用されません。使用するポート番号は動的ポートとして設定され、これを確認するには「SQL Server 構成マネージャー」ツールで[SQL Server ネットワークの構成]の[<インスタンス名
>のプロトコル]から[TCP/IP]プロトコルをダブル クリックします。[TCP/IP のプロパティ]
ダイアログが表示されたら、[IP アドレス]タブを開き、一番下に表示される[IP All]セクショ ンの[TCP 動的ポート]を確認します。
IP アドレスを指定して SQL Server へ接続するこ
とも可能
1
2
3
号を記述すれば名前付きインスタンスへ接続できるようになります(ホスト名解決ができる場合は IP アドレスの代わりにホスト名でも可)。
「マシン名\インスタンス名」形式で接続したい場合には、「受信の規則」で「UDP 1434」ポー トも追加しておく必要があります。
また、SQL Server Browser サービスを開始しておく必要もあります(SQL Server Browser サ ービスは、名前付きインスタンスが利用している動的ポート番号の問い合わせに利用されていま す)。
その他の SQL Server 関連の機能(Reporting Services や Analysis Services など)が利用する ポート番号については、オンライン ブックの以下の項目が参考になると思います。
SQL Server のアクセスを許可するための Windows ファイアウォールの構成 http://msdn.microsoft.com/ja-jp/library/cc646023.aspx
IP アドレス, ポート番号 を指定すれば名前付きイン スタンスの SQL Server へ 接続することができる
1
2
3