这是我看到除了我自己之外的其他人的问题,我还没有找到一个很好的解释。
假设您有一个维护计划,其中包含检查数据库的任务,如下所示:
USE [MyDb]
GO
DBCC CHECKDB with no_infomsgs, all_errormsgs
如果您在任务执行后查看日志,您可能会看到如下内容:
08/15/2008 06:00:22,spid55,Unknown,DBCC CHECKDB (mssqlsystemresource) executed by NT AUTHORITY\SYSTEM found 0 errors and repaired 0 errors. Elapsed time: 0 hours 0 minutes 0 seconds.
08/15/2008 06:00:21,spid55,Unknown,DBCC CHECKDB (master) executed by NT AUTHORITY\SYSTEM found 0 errors and repaired 0 errors. Elapsed time: 0 hours 0 minutes 0 seconds.
它没有检查 MyDb,而是检查了 master 和 msssqlsystemresource。
为什么?
我的解决方法是使用以下方法创建一个 Sql Server 代理作业:
dbcc checkdb ('MyDb') with no_infomsgs, all_errormsgs;
这总是很好。
08/15/2008 04:26:04,spid54,Unknown,DBCC CHECKDB (MyDb) WITH all_errormsgs<c/> no_infomsgs executed by NT AUTHORITY\SYSTEM found 0 errors and repaired 0 errors. Elapsed time: 0 hours 26 minutes 3 seconds.