SQL Server 2005 使用ポート番号

白波

2007年07月17日 12:12

SQL Serverインストール時に①「規定のインスタンス」と②「名前付きインスタンス」が選択できる。
①ならデフォルトで TCP ポート 1433 を使用する。
②なら動的ポートになるので、SQL Server構成マネージャの「SQL Server 2005 ネットワークの構成」-「(インスタンス名?)のプロトコル」-「TCP/IPのプロパティ」-「IPアドレス」タブの「IPAll」の「TCP動的ポート」を見る。+UDP 1434。
[ホスト名解決も必要]
SQL Server 2005 への接続には、「ホスト名解決」も必要になります。たとえば、“KAILASH”という名前の SQL Server 2005 に接続するには、KAILASH マシンのホスト名から IP アドレスを解決 (ホスト名解決) できなければ、接続できません。ホスト名解決に失敗した場合は、同じエラー メッセージが通達されます。
ホスト名解決には、hosts ファイルまたは DNS サーバーが利用されますが、この 2 つで解決できない場合は NetBIOS 名前解決 (ブロードキャスト、WINS、LMHOSTS) が利用されます。[Windows ファイアウォール] ツールの [例外] タブで [ファイルとプリンタの共有] をチェックしている場合は、ブロードキャストによる NetBIOS 名前解決が利用できます。
なお、名前解決が利用できない環境では、IP アドレスを直接入力する方法もあります。たとえば、ADO や ADO.NET であれば接続文字列に“Data Source=192.168.1.13”のように IP アドレスを直接指定すれば、ホスト名解決は不要になります。

[名前付きインスタンスは動的ポートと UDP 1434 も例外へ追加]
前述したように、名前付きインスタンスの場合は、利用するポートが動的に決まります。したがって、ファイアウォールの [例外] タブでは、TCP ポート 1433 ではなく、SQL Server Configuration Manager ツールで確認した、動的に割り当てられた TCP ポート番号を例外に追加しなければなりません。また、クライアント アプリケーションは、名前付きインスタンスが利用している動的ポートを調べるために、「UDP ポート 1434 番」を利用します。したがって、[例外] タブでは、UDP 1434 も追加しておく必要があります。
なお、ADO や ADO.NET であれば、接続文字列に“Data Source=マシン名\インスタンス名,1122”のように動的ポート番号 (1122 の場合) を直接記述することもできます。こうすると、UDP 1434 を利用した問い合わせが不要になるので、[例外] タブで UDP 1434 を追加する必要がなくなります。
・ネットワーク接続を有効化しよう
http://www.microsoft.com/japan/sql/ssj/tips/01.mspx

関連記事