MultiSubnetFailoverがtrueに設定されていると、開発者がAlwaysOn可用性グループリスナーに接続できないという奇妙な問題が発生しています。ただし、グループのプライマリノードに直接接続しようとすると、クライアントは接続できます。これを、.Net4.0.3を使用するWindows8と.Net4.0.3を使用するWindows7で、以下の最小限のテストキャストで再現しました。および.Net4.5。
また、ステージングサーバーをグループリスナー経由で接続し、sqlcmdとSMSを使用してMultiSubnetFailoverフラグを使用してvipに接続することもできました。したがって、リスナー自体が正しく構成されているように見えます。
これは、リスナーの名前に対するnslookupの結果でもあります。オンラインで見つけることができる限り、すべてを適切に実行しましたが、接続はまだタイムアウトになります。誰もが提供できるどんな助けも大歓迎です。
アップデート:
排除のプロセスにより、これは、開発者のマシンにVisualStudioがインストールされていることに何らかの形で関連しているようです。
NSLookup:
Non-authoritative answer:
Name: sql02
Address: 10.101.2.222
Name: sql02
Address: 10.101.1.222
Name: sql02
Address: 10.101.0.222
最小テストケース:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var connection = new SqlConnection(@"
Data Source = sql02;
Initial Catalog = test;
Integrated Security = True;
MultiSubnetFailover = True;
MultipleActiveResultSets = True;
Max Pool Size = 512;");
connection.Open();
}
}
}