有没有办法检查每个数据库上次运行完整性检查的时间?
我知道服务启动时会检查这些值,所以它们存在,并且它们可能写在数据库头信息中。
顺便说一句,我想要一个 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'
此过程采用四个参数:
- 您想要读取的错误日志文件的值:0 = 当前,1 = 档案 #1,2 = 档案 #2,等等...
- 日志文件类型:1 或 NULL = 错误日志,2 = SQL 代理日志
- 搜索字符串 1:要搜索的字符串
- 搜索字符串 2:要搜索的字符串二,以进一步细化结果