web-dev-qa-db-ja.com

TCP動的ポートを使用する場合とTCPポートを使用する場合

以下に示すように、動的ポートを使用して構成された新しいサーバーがあります。

enter image description here

このサーバーに接続するアプリケーションは次の接続文字列を使用しますが、次のエラーが発生します。

enter image description here

開発者に接続ポートを61844から動的ポートである53187に変更するように依頼しました。

これを実行してサービスを再開すると、アプリケーションはSQL Serverに接続できます。

動的ポートを使用する必要がある特定の理由はありますか?

1

SQL Server用に構成したポートを別のものが使用しているとしましょう。 SQL Serverは起動しますが、別のポートを使用しますか?ダイナミックを使用します。まったく起動しませんか?静的を使用します。

別の側面は、開発者がアプリケーションのポート番号(接続文字列)をハードワイヤードしているように見えることです。 yourserver,45346。それはそれを行う1つの方法です。別の方法は、yourserver\instancenameなどのインスタンス名を使用して接続することです。この方法でポート解決が処理されますが、サーバーマシンでSQL Serverブラウザーサービスが開始されている必要があり、UDPポート1434を使用してname-> portnumber "query"にアクセスできます。

2
Tibor Karaszi

動的ポートを使用する必要がある特定の理由はありますか?

動的ポートを使用し続ける正当な理由はありません。 SQL Serverには1433以外に既知のポートがないため、デフォルトで名前付きインスタンスに使用され、リスニングポートを開くための信頼できる唯一の方法は、起動時に使用可能なポートを選択することです。

クライアントがインスタンス名なしで、SQLブラウザーサービスを使用せずに接続できるように、インスタンスごとに定期的に固定ポートを選択する必要があります。