gpt4 book ai didi

sql-server - 自动化 DBCC CHECKDB

转载 作者:搜寻专家 更新时间:2023-10-30 23:24:35 24 4
gpt4 key购买 nike

我目前正在尝试在 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

最佳答案

sufficiently high (20+) severity 的错误-- 根据我的经验,这些最常见的损坏是无效的文本指针 -- 将以极端的偏见停止当前正在运行的任何 SQL 作业,忽略 try/catch 构造并终止连接。我建议将此任务移出到外部进程,为每个 DBCC CHECKDB 命令建立一个新连接,以便它可以在遇到高严重性错误时继续。

关于sql-server - 自动化 DBCC CHECKDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1407758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com