これは私の問題です。 SQL Server 2014、2つの名前付きインスタンス、WSFCとAGでテスト環境をセットアップしました。彼らはこのように設定されています。
sqllab04\inst01 - sqllab05\inst01 - Listener VT-DB-LAB02 (port 1433)
sqllab04\inst02 - sqllab05\inst02 - Listener VT-DB-LAB03 (port 1433)
両方のリスナーは、DNSが設定された独自のIPを持っています(上のDN名)。
INST01 on both 05 & 06 are set with port 1433 as per default in config manager.
INST02 on both 05 & 06 are set with port 1432 as per default in config manager.
Listen Allは両方でアクティブであり、INST01で設定されていますTCPポート1433がすべて、INST02が1432です。
問題は次のとおりです。ssmsを使用してVT-DB-LAB02に接続すると、問題なく接続できます。次にVT-DB-LAB03に接続すると、接続できますが、接続はVT-DB-LAB02に行きます
私が理解していることから、問題はinst01がデフォルトのインスタンスとしてポート1433を使用し、ALL 1433でリッスンしていることですが、私がそれを回避する方法はわかりません。
それでもinst01にポート1433を使用し、別のポートに変更しないで解決したいと考えています。これが最も安全なセットアップ方法ではないことはわかっていますが、現在テストしています。
助言がありますか?不明な点がある場合や、情報を逃した場合はお知らせください。
これは、デフォルトのSQL Serverインスタンスのデフォルトポートであるポート1433でリッスンするようにLAB03リスナーを構成しているために発生しています。そのため、リスナーを使用して接続すると、ポート1433でリッスンしているSQL Serverに接続します。Microsoftでは、リスナーにデフォルトのポート1433を使用しますが、複数のインスタンスとリスナーがある場合、これは特に行うべき正しいことではありません。この問題を回避するには、リスナーのポート番号を変更する必要がありますVT-DB-LAB03
sqllab04\inst02 - sqllab05\inst02 - Listener VT-DB-LAB03 (port 1433)
問題が解決するように、空きポートを選択し、このポートでリッスンするようにリスナーを構成できます。
リスナーにデフォルト以外のポートを選択する場合は、接続文字列でポート番号を使用する必要があります
Docs.Microsoft からの引用
また、各可用性グループリスナーは個別の仮想ネットワーク名を持つため、単一のWSFCで構成された各可用性グループリスナーは、同じデフォルトポート1433を参照するように構成できます。
非標準のリスナーポートを指定することもできます。ただし、これは、可用性グループリスナーに接続するときは常に、接続文字列でターゲットポートも明示的に指定する必要があることを意味します。また、ファイアウォールで標準以外のポートのアクセス許可を開く必要があります。
可用性グループリスナーVNNにデフォルトポート1433を使用する場合でも、クラスターノード上の他のサービスがこのポートを使用していないことを確認する必要があります。そうしないと、ポートの競合が発生します。