我目前正在嘗試在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