IIS等のServer Managerで追加するサービスは自動的に
Windows Firewallに適切な設定を行ってくれますが
それ以外のアプリは自分で設定を行う必要があります。
今回はSQL Server 2005でリモート接続ができるように設定し
Windows Firewallで必要なポートを開ける設定を行います。
■ SQL Server 2005のリモート接続の有効化
SQL Server 2005ではデフォルトではリモート接続ができないようになっています。
リモート接続を有効にするにはSQL Server 2005の[構成ツール]にある
[SQL Server セキュリティ構成]を起動して以下の操作を行います。
1.[サービスと接続のセキュリティ構成]を選択
2.[SQL Server 2005 Surface Area Configuration]が起動するので
左ペインで[MSSQLSERVER] - [Database Engine] - [リモート接続]を選択し
[ローカル接続およびリモート接続]を選択
これでリモート接続が可能になりますが、SQL Server 2005は以下のポートで接続を待ち受けます。
・ 規定のインスタンスの場合
デフォルトでTCP 1433が使用されます。
このポートは[SQL Server Configuration Manager]で変更することも可能です。
・名前付きインスタンスの場合
TCP 1433ではなくランダムにポートが割り当てられます。
割り当てられたポートは[SQL Server Configuration Manager]で確認します。
またリモート接続時にはまず割り当てられたポートを検索する為にUDP 1434が使用されますので
UDP 1434も開いている必要があります。
※ただしADOもしくはADO.NETの接続文字列で明示的にポート番号を指定する場合は
ポートを検索する処理が不要なのでUDP 1434は開いていなくても接続できます。
今回は既定のインスタンスでデフォルトのTCP 1433を使用しますのでこのポートを空けるように
Windows Firewallの受信規則に規則を追加してみます。
■ Server Managerで設定する場合
1.Server Managerで[構成] - [セキュリティが強化されたWindowsファイアウォール] - [受信の規則]を
選択し右クリックして[新規の規則]を選択します。
2.今回はポート番号で指定するので[ポート]を選択します。
3.TCPの1433を指定します。
4.「接続を許可する」を選択します。
5.規則を追加するプロファイルを指定します。
6.最後に規則名を指定して完了です。
■ コマンドで設定する場合
netsh advfirewall firewall add rule name="SQL Server リモート接続(TCP1433)" dir=in
action=allow protocol=tcp localport=1433
規則の追加が成功すると「OK」と出力されます。
慣れてくるとコマンドの方が早くて楽です。