静的ポート50101で実行されている名前付きインスタンスを作成しました。
ネットワーク関係者がファイアウォールのポートを開いて、着信接続を許可しています。 SQLブラウザーサービスはこのポートで実行され、名前付きインスタンスの正しいポートを要求側の接続に戻す必要があると思うので、UDPポート1434も開くように依頼しました。名前付きインスタンスが静的TCPポートで実行されている場合でも。
あれは正しいですか?
SQLブラウザー/ UDP 1434は動的ポート用だけではありませんよね?
接続文字列でポートが明示的でない場合、それを開く必要がありますか?
本当にこの議論を終わらせる必要があります!
MP
UDP 1434は名前付きSQL Serverインスタンスに使用され、SQLブラウザーサービスはこのポートで名前付きSQLサーバーインスタンスへの着信要求をリッスンします。ブラウザーサービスは、要求された名前付きインスタンスのTCPポート番号)でクライアントに応答します。
BOLから :
SQL Server Browserサービスを使用すると、ユーザーはポート番号を知らなくても、ポート1433でリッスンしていないデータベースエンジンのインスタンスに接続できます。
SQL Server Browserを使用するには、UDPポート1434を開く必要があります。最も安全な環境を昇格させるには、SQL Server Browserサービスを停止したままにし、ポート番号を使用して接続するようにクライアントを構成します。
-
接続文字列でポートが明示的でない場合、それを開く必要がありますか?
はい。ブラウザサービスが実行されていない場合は、servername,portNo
を指定する必要があります。 YourSecureSQLServerName,50101
ポートが静的である(そうであるように見える)場合は、接続文字列でtcp:<ip address of sql server/NAT/firewall>,50101
を使用してポート50101に接続できます。例えば:
tcp:192.168.0.101,50101
ファイアウォールを介して1434を開く必要はありません。SQLServerが50101にあるということで、完全な景品だと考える人もいます。
接続文字列でポート番号を提供したくない場合は、UDP 1434でSQL Browserサービスへのアクセスを提供できます。NATを使用して、 SQL Server、ポート1433を開いて50101にリダイレクトし、接続文字列でサーバーの名前を使用するだけ(つまり、インスタンス名なし)。