2
SSMSと登録済みサーバーの結果
背景: 私たちは、AGのサポートチームの1つに「主要な」AGテストハーネスを作成しようとしています。ある時点でどのサーバーがプライマリになるかがわからないため、登録されたサーバーグループに対してTSQLを実行するように指示されています。登録されたサーバーグループは、AG内のすべてのサーバーで構成されます。目標は、現在のプライマリサーバーでのみTSQLを実行することです。 現在のテストハーネス: IF EXISTS (SELECT * FROM sys.dm_hadr_availability_replica_states AS HARS INNER JOIN sys.dm_hadr_availability_replica_cluster_states AS HACS ON HACS.replica_id = HARS.replica_id WHERE (HARS.role_desc = 'PRIMARY') AND (HACS.replica_server_name LIKE @@SERVERNAME)) BEGIN <<SOME CODE TO EXECUTE>> END 問題点: マルチサーバークエリに応答する最初のサーバーが結果を返さない場合、他のサーバーが後で結果セットを返しても、SSMSは正しい結果セットが結果セットではないと想定します。したがって、このシナリオでは結果は返されません...これは正しくなく、期待される機能ではありません。 SSMS(これはCSチームにとって最も身近なツールです)を使用して、現在のプライマリサーバーでのみ実行を強制する方法を誰かが考えることができますか?