【发布时间】:2010-11-27 07:46:14
【问题描述】:
我目前正在尝试在 SQL Server 2005 上编写一个作业脚本,该作业将自动执行 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
【问题讨论】:
标签: sql-server database