bisonn icon

AG delay

bisonn | PRO | 08/15/19 09:12:19 PM UTC | 0 ⭐ | 6574 👁️ | Never ⏰ | []
T-SQL |

2.23 KB

|

None

|

0 👍

/

0 👎

WITH AG_Stats AS (
            SELECT AGS.name                       AS AGGroupName, 
                   AR.replica_server_name         AS InstanceName, 
                   HARS.role_desc, 
                   Db_name(DRS.database_id)       AS DBName, 
                   DRS.database_id, 
                   AR.availability_mode_desc      AS SyncMode, 
                   DRS.synchronization_state_desc AS SyncState, 
                   DRS.last_hardened_lsn, 
                   DRS.end_of_log_lsn, 
                   DRS.last_redone_lsn, 
                   DRS.last_hardened_time, -- On a secondary database, time of the log-block identifier for the last hardened LSN (last_hardened_lsn).
                   DRS.last_redone_time, -- Time when the last log record was redone on the secondary database.
                   DRS.log_send_queue_size, 
                   DRS.redo_queue_size,
                   DRS.last_commit_time
            FROM   sys.dm_hadr_database_replica_states DRS 
            LEFT JOIN sys.availability_replicas AR 
            ON DRS.replica_id = AR.replica_id 
            LEFT JOIN sys.availability_groups AGS 
            ON AR.group_id = AGS.group_id 
            LEFT JOIN sys.dm_hadr_availability_replica_states HARS ON AR.group_id = HARS.group_id 
            AND AR.replica_id = HARS.replica_id 
            --where database_id=9
            ),
    Pri_CommitTime AS 
            (
            SELECT  DBName
                    , last_commit_time
            FROM    AG_Stats
            WHERE   role_desc = 'PRIMARY'
            ),
    FO_CommitTime AS 
            (
            SELECT  DBName, last_commit_time
            FROM    AG_Stats
            WHERE   role_desc = 'SECONDARY' 
            )
SELECT p.[DBName] AS [DatabaseName], p.last_commit_time AS [Primary Commit]
    , f.last_commit_time AS [FailOver Commit]
    , DATEDIFF(ss,f.last_commit_time,p.last_commit_time)/(60*60*24) [Days]
    , (DATEDIFF(ss,f.last_commit_time,p.last_commit_time)/(60*60))%24  [Hours]
    , (DATEDIFF(ss,f.last_commit_time,p.last_commit_time)/60)%60 [Minutes]
    , DATEDIFF(ss,f.last_commit_time,p.last_commit_time) AS [Lag (secs)]
FROM Pri_CommitTime p
LEFT JOIN FO_CommitTime f ON [f].[DBName] = [p].[DBName]

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎