質問

非常に奇妙な状況が発生しており、ここの誰かがその理由を知っていることを望んでいます。

デフォルトのポート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が任意のポートでバインドできるように、ファイアウォールがプロセス名に基づいて穴を開けることを許可する必要があります。

それ以外の場合は、名前のないポートに名前付きインスタンスを明示的に強制する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top