動的管理ビュー (DMV) を使用して、AlwayOn でプライマリサーバーかどうかを確認するクエリ。
select name,replica_server_name,role_desc,dns_name from sys.availability_groups_cluster agc
right join sys.dm_hadr_availability_replica_cluster_states dharc
on agc.group_id = dharc.group_id
left join sys.dm_hadr_availability_replica_states dhars
on dharc.replica_id=dhars.replica_id
left join sys.availability_group_listeners agl
on agc.group_id = agl.group_id
そーすると、次の画像のように、サーバー一覧とSecondaryかPrimaryかが表示される。自身のサーバーのロールしか取れないので、SecondaryかPrimaryかしかわからない。複数サーバーあると、どれがPrimaryかはそれぞれのサーバーで実行してみないとわからない…。