在我的大多数服务器中,我都计划运行dbcc checkdb 。
我可以通过DBCC DBINFO()获得最后一个已知的良好 DBCC Checkdb 。
我可以读取 sql server 日志中留下的痕迹,并且得到如下图所示的内容:
或者我可以运行以下脚本:
IF OBJECT_ID('TEMPDB..#MAINT') IS NOT NULL
DROP TABLE #maint
CREATE TABLE #maint (Results varchar(255) NULL)
INSERT INTO #maint(Results) EXEC('master..xp_cmdshell ''sqlcmd -E -Q"dbcc checkdb([my_database])"''')
select * from #maint
我还可以查看默认跟踪。
我在追求什么?
如何找出上次运行 dbcc checkdb 花了多长时间。
如果已安排,则可以选择从 SQL 代理作业的运行时持续时间获取它。
如果您正在使用Ola 的解决方案(我会推荐),那么他的
dbo.CommandLog
表将包含它执行的所有操作的列,包括 DBCC 工作StartTime
。EndTime
如果我理解正确
EXEC sp_readerrorlog 0, 1, 'dbcc'
会给你你想要的原始数据。为了整理它,你可以使用类似的东西
希望有帮助