query to find the latest transactional backup for a server involved in availability group
0
votes
1
answer
55
views
I got a query to find the latest transactional log backup.
in this particular server it is not working for some reason.
here is the query:
SELECT
@@Servername AS [Server_Name],
B.name AS Database_Name,
ISNULL(STR(ABS(DATEDIFF(day, SYSDATETIME(), MAX(A.backup_finish_date)))), 'NEVER') AS DaysSinceLastBackup,
ISNULL(CONVERT(CHAR(11), MAX(A.backup_finish_date), 113) + ' ' + CONVERT(VARCHAR(8), MAX(A.backup_finish_date), 108), 'NEVER') AS LastBackupDate,
BackupSize_GB = REPLACE(CONVERT(VARCHAR(50), CAST(CAST(COALESCE(MAX(A.compressed_backup_size), MAX(A.backup_size), 0)/1024.0/1024.0/1024.0 AS NUMERIC(18,2)) AS MONEY),1), '.00',''),
BackupSize_MB = REPLACE(CONVERT(VARCHAR(50), CAST(CAST(COALESCE(MAX(A.compressed_backup_size), MAX(A.backup_size), 0)/1024.0/1024.0 AS NUMERIC(18,2)) AS MONEY),1), '.00',''),
[Last Backup Duration (sec)] = DATEDIFF(s, MAX(A.backup_start_date), MAX(A.backup_finish_date)),
[AVG Backup Duration (sec)] = AVG(CAST(DATEDIFF(s, A.backup_start_date, A.backup_finish_date) AS INT)),
[Longest Backup Duration (sec)] = MAX(CAST(DATEDIFF(s, A.backup_start_date, A.backup_finish_date) AS INT)),
[Shortest Backup Duration (sec)] = MIN(CAST(DATEDIFF(s, A.backup_start_date, A.backup_finish_date) AS INT)),
A.type,
media_set_id = MAX(A.media_set_id),
B.create_date,
B.recovery_model_desc,
B.state_desc,
B.is_read_only,
B.database_id,
Backup_Started = MAX(A.backup_start_date),
Backup_Finished = MAX(A.backup_finish_date)
FROM sys.databases B WITH(NOLOCK)
LEFT OUTER JOIN msdb.dbo.backupset A WITH(NOLOCK)
ON A.database_name = B.name
AND A.type = 'L' -- Solo Transaction Log
WHERE 1=1
--B.Name = 'My_database'
GROUP BY
B.Name,
B.database_id,
B.create_date,
B.recovery_model_desc,
B.state_desc,
B.is_read_only,
A.type
Asked by Marcello Miorelli
(17274 rep)
Mar 26, 2025, 11:48 AM
Last activity: Mar 27, 2025, 01:01 PM
Last activity: Mar 27, 2025, 01:01 PM