【发布时间】:2011-04-17 04:00:13
【问题描述】:
我想查询所有数据库(在 SQL Server 2008 实例中)的最后一次事务日志备份的日期。怎么做?我知道这些信息在某个地方,但我不知道在哪里。
【问题讨论】:
标签: sql sql-server sql-server-2008 backup transaction-log
我想查询所有数据库(在 SQL Server 2008 实例中)的最后一次事务日志备份的日期。怎么做?我知道这些信息在某个地方,但我不知道在哪里。
【问题讨论】:
标签: sql sql-server sql-server-2008 backup transaction-log
SELECT d.name,
MAX(b.backup_finish_date) AS backup_finish_date
FROM master.sys.sysdatabases d
LEFT OUTER JOIN msdb..backupset b
ON b.database_name = d.name
AND b.type = 'L'
GROUP BY d.name
ORDER BY backup_finish_date DESC
【讨论】:
我建议使用这个修改后的脚本,这样您就可以看到哪个数据库处于 FULL 或 BULK_LOGGED 恢复模式并且没有任何 LOG BACKUP。
SELECT d.name,
d.recovery_model_desc,
MAX(b.backup_finish_date) AS backup_finish_date
FROM master.sys.databases d
LEFT OUTER JOIN msdb..backupset b
ON b.database_name = d.name
AND b.type = 'L'
GROUP BY d.name, d.recovery_model_desc
ORDER BY backup_finish_date DESC
【讨论】: