通过SINGLE T-sql查询我们可以找到: 1.数据库备份模式 - [完整,简单,批量] 2. IS数据库计划备份[是,否] 3.如果启用了备份数据库备份的大小
和 每日事务日志备份大小?任何帮助
答案 0 :(得分:3)
您可以在msdb backupset表中查询此类信息:
SELECT
database_name,
recovery_model,
CASE bs.type
WHEN 'D' THEN 'FULL'
WHEN 'I' THEN 'DIFFERENTIAL'
WHEN 'L' THEN 'TRANSACTION LOG'
ELSE 'UNKNOWN'
END AS backup_type,
backup_finish_date,
backup_size,
compressed_backup_size
FROM msdb.dbo.backupset bs
编辑:
此查询将返回数据库名称,恢复模型以及完整,差异和日志备份的上次日期时间。如果数据库为最后一个FULL返回NULL,则根本不进行备份。如果它为最后一个事务日志返回NULL并且数据库使用FULL恢复,则它没有正确备份。
SELECT
d.name,
d.recovery_model_desc,
MAX(CASE bs.type WHEN 'D' THEN backup_finish_date ELSE NULL END) AS [last_full_backup_date],
MAX(CASE bs.type WHEN 'I' THEN backup_finish_date ELSE NULL END) AS [last_diff_backup_date],
MAX(CASE bs.type WHEN 'L' THEN backup_finish_date ELSE NULL END) AS [last_tlog_backup_date]
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs ON bs.database_name = d.name
GROUP BY d.name, d.recovery_model_desc