我目前正在尝试在SQL Server 2005上编写脚本来自动执行DBCC CHECKDB过程。基本上,我使用游标运行并在实例上的每个数据库上运行DBCC CHECKDB。有时它可以工作,遍历每个数据库并将错误记录在我为此目的设计的表中,有时它只会遍历一些数据库并停止。有谁知道发生了什么事?我已经包含了我用于游标的代码。自动化DBCC CHECKDB
DECLARE @DbName varchar(100)
DECLARE
GetDbName CURSOR
LOCAL
FORWARD_ONLY
OPTIMISTIC
FOR
SELECT
name
FROM
sys.databases
ORDER BY
name
OPEN GetDbName
FETCH NEXT FROM GetDbName
INTO @DbName
WHILE (@@fetch_status = 0)
BEGIN
print @DbName
INSERT INTO
TempLog
EXEC('DBCC CHECKDB ('+ @DbName +') WITH NO_INFOMSGS, TABLERESULTS')
FETCH NEXT FROM GetDbName
INTO @DbName
END
CLOSE GetDbName
DEALLOCATE GetDbName
+1这是最有可能的问题。严重的错误也会发送到错误日志和系统事件日志,因此很容易在那里检查它们。 – 2009-09-10 21:21:10