0
SQL Server의 최신 백업에 대한 자세한 보고서를 만들려고합니다.SQL Server 백업 보고서
select
[Server_Name] = a.server_name,
[Database_Name] = a.database_name,
[Last_Backup] = max(a.backup_finish_date),
[Backup_Type] = CASE A.type
WHEN 'D' THEN 'FULL'
WHEN 'I' THEN 'Differential'
WHEN 'L' THEN 'Log'
WHEN 'F' THEN 'FileGroup'
WHEN 'G' THEN 'FileGroup Differential'
WHEN 'P' THEN 'Partial'
WHEN 'Q' THEN 'Partial Differential'
END,
[Backup_Set] = b.name,
[Days_Since_Last_Backup] = DATEDIFF(d,(max(a.backup_finish_Date)),GETDATE())
from msdb.dbo.backupset AS a
INNER JOIN msdb.dbo.backupset as b ON a.backup_set_id = b.backup_set_id
GROUP BY a.database_name, a.server_name, b.name, a.type
ORDER BY database_name
내가 열이 다음 표시 할 수 있도록 변경하려면 : 지금 현재 나는이 쓰여있다 Last_Full_Backup
, Last_Diff_Backup
에 대한 날짜를 표시하기 위해
Server_Name, Database_Name, Last_Full_Backup, Last_Diff_Backup, Last_Log_Backup,
Backup_Set, Days_Since_Last_Full
하고, Last_Log_Backup
필자는 피봇 팅 (pivoting)을해야하지만 필자는 어떻게 (피봇 팅에 익숙하지 않은지) 잘 모르겠습니다.
도움을 주시면 감사하겠습니다. 모두에게 미리 감사드립니다.
지금까지 멋졌습니다. NULL을 처리하기 위해 "CASE"문을 추가 할 수 있습니다. 내가 [Days_Since_Last_Backup]을 마지막 FULL 이후로만 표시하도록 어떻게 제안 하시겠습니까? [Days_Since_Last_Full]을 읽도록 열을 변경하려고합니다 ... – homerj742
또한 한 줄에 하나의 데이터베이스를 유지하려고합니다. 이 쿼리는 한 줄에 2 개의 DB를 반환합니다. – homerj742
@ user3380003'GROUP BY'는 타입이 포함되어 있지 않아야합니다. 백업 세트 이름을 사용해야하는지 잘 모르므로 백업 세트 이름을 포함할지 여부를 잘 모릅니다. –