SQL:查找上次完整性检查日期

SQL:查找上次完整性检查日期

有没有办法检查每个数据库上次运行完整性检查的时间?

我知道服务启动时会检查这些值,所以它们存在,并且它们可能写在数据库头信息中。

顺便说一句,我想要一个 T-SQL 解决方案。

答案1

您可以从数据库的启动页获取此信息。即页面 ID 9。

DBCC TRACEON (3604)
GO
DBCC PAGE (DatabaseName, 1, 9, 3)
GO

答案2

当 SQL Server 启动时,它会将上次 DBCC CHECKDB 日期作为信息性消息报告。它不是在运行命令,只是报告。

要从 T-SQL 中查看,请执行此操作

EXEC sp_readerrorlog 0, 1, 'CHECKDB'

此过程采用四个参数:

  1. 您想要读取的错误日志文件的值:0 = 当前,1 = 档案 #1,2 = 档案 #2,等等...
  2. 日志文件类型:1 或 NULL = 错误日志,2 = SQL 代理日志
  3. 搜索字符串 1:要搜索的字符串
  4. 搜索字符串 2:要搜索的字符串二,以进一步细化结果

相关内容