Skip to content

Instantly share code, notes, and snippets.

@chipitsine
Last active January 23, 2018 10:32
Show Gist options
  • Save chipitsine/7fdec5fa2490f2eb237fc76bd1634f6f to your computer and use it in GitHub Desktop.
Save chipitsine/7fdec5fa2490f2eb237fc76bd1634f6f to your computer and use it in GitHub Desktop.
select * into #tmpag_availability_groups from master.sys.availability_groups
(@_msparam_0 nvarchar(4000),@_msparam_1 nvarchar(4000))
select * into #tmpag_availability_groups from master.sys.availability_groups
select replica_id, group_id into #tmpardb_availability_replicas from master.sys.availability_replicas
select replica_id, group_database_id, database_name,is_database_joined,is_failover_ready,is_pending_secondary_suspend,recovery_lsn,truncation_lsn into #tmpardb_database_replica_cluster_states from master.sys.dm_hadr_database_replica_cluster_states
select replica_id, is_local into #tmpardb_availability_replica_states from master.sys.dm_hadr_availability_replica_states
select replica_id, group_database_id,synchronization_state, is_suspended into #tmpardb_database_replica_states from master.sys.dm_hadr_database_replica_states
SELECT
dbcs.database_name AS [Name],
dbcs.group_database_id AS [UniqueId],
ISNULL(dbcs.is_database_joined, 0) AS [IsJoined],
ISNULL(dbrs.synchronization_state, 0) AS [SynchronizationState],
ISNULL(dbrs.is_suspended, 0) AS [IsSuspended],
ISNULL(dbcs.is_failover_ready, 0) AS [IsFailoverReady],
ISNULL(dbcs.is_pending_secondary_suspend, 0) AS [IsPendingSecondarySuspend],
dbcs.recovery_lsn AS [RecoveryLSN],
dbcs.truncation_lsn AS [TruncationLSN]
FROM
#tmpag_availability_groups AS AG
INNER JOIN #tmpardb_availability_replicas AS AR ON AR.group_id=AG.group_id
INNER JOIN #tmpardb_availability_replica_states AS arstates ON AR.replica_id = arstates.replica_id AND arstates.is_local = 1
INNER JOIN #tmpardb_database_replica_cluster_states AS dbcs ON arstates.replica_id = dbcs.replica_id
LEFT OUTER JOIN #tmpardb_database_replica_states AS dbrs ON dbcs.replica_id = dbrs.replica_id AND dbcs.group_database_id = dbrs.group_database_id
WHERE
(dbcs.database_name=@_msparam_0)and((AG.name=@_msparam_1))
DROP TABLE #tmpardb_availability_replicas
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment