IPアドレス付きのSQL Serverインスタンス名
-
06-07-2019 - |
質問
非常に奇妙な状況が発生しており、ここの誰かがその理由を知っていることを望んでいます。
デフォルトのポート1433のすべてのポートでTCP / IPが有効になっています。
すべてのテストは、SQL Server Management Studioおよび私のプログラムと一致しています。
これは動作します:
- ComputerName \ InstanceName
- 127.0.0.1
- 127.0.0.1,1433
- 192.168.1.100
- 192.168.1.100,1433
これは機能しません:
- 127.0.0.1 \ InstanceName
注:ポート1433で127.0.0.1にTelnet接続できるため、ファイアウォールに関連していないことはわかっています。
注2:テストはManagement Studioと一貫しているため、接続文字列は重要ではありませんが、とにかくそれを指定します: server = {0}; Integrated Security = True; Database = MyDatabase
MSDNを読んでいる間、IPアドレスを介してインスタンス名に接続できるはずです。
ここで何が起こっているのですか?
解決
名前付き SQLインスタンスは、デフォルトでランダムなポートでリッスンします。 SQL Browser サービスが必要です。これはUDPをリッスンします1434で、クライアントに真のリッスンポートを指示するインスタンスディスカバリリクエストに応答します。また、SQLが任意のポートでバインドできるように、ファイアウォールがプロセス名に基づいて穴を開けることを許可する必要があります。
それ以外の場合は、名前のないポートに名前付きインスタンスを明示的に強制する必要があります。
所属していません StackOverflow