web-dev-qa-db-ja.com

静的TCPを使用する名前付きインスタンスに対して、UDPポート1434を開く必要がありますか?

静的ポート50101で実行されている名前付きインスタンスを作成しました。

ネットワーク関係者がファイアウォールのポートを開いて、着信接続を許可しています。 SQLブラウザーサービスはこのポートで実行され、名前付きインスタンスの正しいポートを要求側の接続に戻す必要があると思うので、UDPポート1434も開くように依頼しました。名前付きインスタンスが静的TCPポートで実行されている場合でも。

あれは正しいですか?

SQLブラウザー/ UDP 1434は動的ポート用だけではありませんよね?

接続文字列でポートが明示的でない場合、それを開く必要がありますか?

本当にこの議論を終わらせる必要があります!

MP

6
Molenpad

UDP 1434は名前付きSQL Serverインスタンスに使用され、SQLブラウザーサービスはこのポートで名前付きSQLサーバーインスタンスへの着信要求をリッスンします。ブラウザーサービスは、要求された名前付きインスタンスのTCPポート番号)でクライアントに応答します。

BOLから

SQL Server Browserサービスを使用すると、ユーザーはポート番号を知らなくても、ポート1433でリッスンしていないデータベースエンジンのインスタンスに接続できます。

SQL Server Browserを使用するには、UDPポート1434を開く必要があります。最も安全な環境を昇格させるには、SQL Server Browserサービスを停止したままにし、ポート番号を使用して接続するようにクライアントを構成します

-

接続文字列でポートが明示的でない場合、それを開く必要がありますか?

はい。ブラウザサービスが実行されていない場合は、servername,portNoを指定する必要があります。 YourSecureSQLServerName,50101

4
Kin Shah

ポートが静的である(そうであるように見える)場合は、接続文字列で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にリダイレクトし、接続文字列でサーバーの名前を使用するだけ(つまり、インスタンス名なし)。

2
Max Vernon
  1. ssmsを使用してSQLログインモードを変更する混合モードを実行する
  2. ssms tcp enableを使用
1
user170244