snippetsqlModerate
Availability Group how to determine last Failover time
Viewed 0 times
lastgrouptimefailoverdeterminehowavailability
Problem
I'd just like to know if there is any way to query when the AG group failed over.
eg - this is the Primary Replica now, but I'm pretty sure it was the secondary yesterday? How can i find when the failover took place
is there something specific in the Logs I should be looking for, or is there a tsql script to use?
eg - this is the Primary Replica now, but I'm pretty sure it was the secondary yesterday? How can i find when the failover took place
is there something specific in the Logs I should be looking for, or is there a tsql script to use?
Solution
Following lists failover time and direction for each database for all failover events on the server on which this is run, using T-SQL as requested.
-- Script to determine failover times in Availability Group
;WITH cte_HADR AS (SELECT object_name, CONVERT(XML, event_data) AS data
FROM sys.fn_xe_file_target_read_file('AlwaysOn*.xel', null, null, null)
WHERE object_name = 'error_reported'
)
SELECT data.value('(/event/@timestamp)[1]','datetime') AS [timestamp],
data.value('(/event/data[@name=''error_number''])[1]','int') AS [error_number],
data.value('(/event/data[@name=''message''])[1]','varchar(max)') AS [message]
FROM cte_HADR
WHERE data.value('(/event/data[@name=''error_number''])[1]','int') = 1480Code Snippets
-- Script to determine failover times in Availability Group
;WITH cte_HADR AS (SELECT object_name, CONVERT(XML, event_data) AS data
FROM sys.fn_xe_file_target_read_file('AlwaysOn*.xel', null, null, null)
WHERE object_name = 'error_reported'
)
SELECT data.value('(/event/@timestamp)[1]','datetime') AS [timestamp],
data.value('(/event/data[@name=''error_number''])[1]','int') AS [error_number],
data.value('(/event/data[@name=''message''])[1]','varchar(max)') AS [message]
FROM cte_HADR
WHERE data.value('(/event/data[@name=''error_number''])[1]','int') = 1480Context
StackExchange Database Administrators Q#131634, answer score: 15
Revisions (0)
No revisions yet.