adapted backup history to give start and end date of the backup, and allow simple switch between log, full and both type of backups in the output

This commit is contained in:
2025-10-01 09:00:29 +02:00
parent 8965d76fa7
commit 3506d5b1cb

View File

@@ -2,5 +2,5 @@
"id": "9bbe2292-2584-4d65-a484-4f60dc92cd94",
"prefix": "bkpHist",
"description": "list database backup history",
"body": ";WITH cteHist AS (\r\n SELECT [ibs].[database_name], [ibs].[backup_start_date], [ibs].[backup_finish_date], ROW_NUMBER()OVER(PARTITION BY [ibs].[database_name] ORDER BY [ibs].[backup_finish_date] DESC ) AS rnk\r\n FROM msdb.dbo.backupset ibs \r\n WHERE [ibs].[type]='D'\r\n)\r\n, ctehistFilt AS (\r\nSELECT *\r\nFROM [cteHist]\r\n--WHERE [cteHist].[rnk] <= 10\r\nWHERE [cteHist].[backup_finish_date] >= DATEADD(DAY, -7, CURRENT_TIMESTAMP)\r\n)\r\n\r\nSELECT \r\n d.name\r\n --,[last 5 backups] = STUFF(CONVERT(VARCHAR(MAX),bkp.strDates),1,1,'')\r\n ,h.[backup_finish_date]\r\n ,h.[rnk] AS position\r\n ,d.collation_name\r\n ,d.compatibility_level\r\nFROM sys.databases d\r\n JOIN [ctehistFilt] h ON h.[database_name] = d.[name]\r\nWHERE 1=1\r\nAND d.name NOT IN (\r\n 'master'\r\n ,'model'\r\n ,'tempdb'\r\n ,'msdb'\r\n)\r\n"
"body": ";WITH cteHist AS (\r\nSELECT [ibs].[database_name],\r\n [ibs].[type],\r\n [ibs].[backup_start_date],\r\n [ibs].[backup_finish_date],\r\n DATEDIFF(MINUTE,[ibs].[backup_start_date], [ibs].[backup_finish_date]) AS duration_minutes,\r\n ROW_NUMBER() OVER (PARTITION BY [ibs].[database_name]\r\n ORDER BY [ibs].[backup_finish_date] DESC\r\n ) AS [rnk]\r\nFROM [msdb].[dbo].[backupset] AS [ibs]\r\nWHERE [ibs].[type] IN(\r\n\t''\t--dummy, to allow comment freely the following lines\r\n\t,'l'\r\n\t,'D'\r\n)\r\n /*\r\n D = Database\r\n I = Differential database\r\n L = Log\r\n F = File or filegroup\r\n G =Differential file\r\n P = Partial\r\n Q = Differential partial\r\n */\r\n)\r\n, ctehistFilt AS (\r\nSELECT *\r\nFROM [cteHist]\r\n--WHERE [cteHist].[rnk] <= 10\r\nWHERE [cteHist].[backup_finish_date] >= DATEADD(DAY, -7, CURRENT_TIMESTAMP)\r\n)\r\n\r\nSELECT \r\n d.name\r\n --,[last 5 backups] = STUFF(CONVERT(VARCHAR(MAX),bkp.strDates),1,1,'')\r\n ,h.[type]\r\n ,h.[backup_start_date]\r\n ,h.[backup_finish_date]\r\n ,h.[duration_minutes]\r\n ,h.[rnk] AS position\r\n ,d.collation_name\r\n ,d.compatibility_level\r\nFROM sys.databases d\r\n JOIN [ctehistFilt] h ON h.[database_name] = d.[name]\r\nWHERE 1=1\r\n--AND name='arizonarep';\r\nAND d.name NOT IN (\r\n 'master'\r\n ,'model'\r\n ,'tempdb'\r\n ,'msdb'\r\n)\r\n"
}