SQL Server:如何查询上次事务日志备份的时间?

Posted

技术标签:

【中文标题】SQL Server:如何查询上次事务日志备份的时间?【英文标题】:SQL Server: how to query when the last transaction log backup has been taken? 【发布时间】:2011-04-17 04:00:13 【问题描述】:

我想查询所有数据库(在 SQL Server 2008 实例中)的最后一次事务日志备份的日期。怎么做?我知道这些信息在某个地方,但我不知道在哪里。

【问题讨论】:

【参考方案1】:
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

【讨论】:

【参考方案2】:

我建议使用这个修改后的脚本,这样您就可以看到哪个数据库处于 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

【讨论】:

查看此语句的输出,我看到 backup_finish_date 为 NULL...这是什么意思? ***.com/questions/40050221/…

以上是关于SQL Server:如何查询上次事务日志备份的时间?的主要内容,如果未能解决你的问题,请参考以下文章

sqlserver数据库几种备份方法

sql server 2000中,如何查询事务日志?事务日志有啥作用?

SQL Server:如何增加事务日志的大小?

SQL Server中事务日志管理的阶梯,级别5:以完全恢复模式管理日志

日志链和 SQL Server 事务日志 - 健全性检查

从 SQL Server 的事务日志中删除信息