以文本方式查看主题 - 昂捷论坛 (http://enjoyit.com.cn/bbs/index.asp) -- □-技术研讨会 (http://enjoyit.com.cn/bbs/list.asp?boardid=36) ---- 解决数据库维护计划失败的问题 (http://enjoyit.com.cn/bbs/dispbbs.asp?boardid=36&id=290) |
|||||||||||||||||||||||||
-- 作者:大脑袋 -- 发布时间:2005/11/14 10:58:41 -- 解决数据库维护计划失败的问题
本文的发布号曾为 CHS288577
概要如果数据库维护计划中的任何任务失败或遇到错误信息,则维护计划作业本身可能显示为失败。作业历史记录详细信息显示以下错误信息:
sqlmaint.exe failed.[SQLSTATE 42000] (Error 22029).The step failed. 但是,这不一定指示整个维护计划都失败。维护计划作业显示失败状态,以便引发一个标志,指示让用户注意的维护计划中的某一任务。此类型的行为很常见,因为可能会遇到需要用户干预来解决的错误。只要某一维护计划作业失败,您就必须检查计划历史记录以查看错误情况,然后采取适当的措施来解决该问题。 更多信息为了找出与导致作业失败的原因有关的特定任务和错误信息,您需要检查数据库维护计划历史记录。在数据库维护计划历史记录中,您可以获取与该维护计划正执行的每一任务有关的详细信息。使用以下步骤在 SQL Server 企业管理器中找到这些信息:
您还可以将详细的维护计划信息写入一个文件。若要将详细的维护计划信息写入一个文件,请使用以下步骤:
|
|||||||||||||||||||||||||
-- 作者:大脑袋 -- 发布时间:2005/11/22 9:27:18 -- 今天发现维护计划失败,是因为 ------------------------------------------------------------------------------ 正在为表“tbs_d_supp”重建索引 [Microsoft SQL-DMO (ODBC SQLState: HY000)] 错误 3624: [Microsoft][ODBC SQL Server Driver][SQL Server] [Microsoft][ODBC SQL Server Driver][SQL Server]Location: recbase.cpp:1374 Expression: m_nVars > 0 SPID: 56 Process ID: 1748 ** 执行时间: 0 小时,33 分钟,21 秒 ** 结束维护计划“数据库维护计划1”(在 2005-11-22 8:09:07 上) SQLMAINT.EXE 进程退出代码: 1 (失败) ------------------------------------------------------------------------------- 而这个错误是因为tbs_d_supp这个表的一致性错误引起的 ---------------------------- dbcc checktable(\'tbs_d_supp\') ---------------------------- 服务器: 消息 8928,级别 16,状态 1,行 1 对象 ID 426848983,索引 ID 0: 未能处理页 (1:618084)。详细信息请参阅其它错误。 服务器: 消息 8944,级别 16,状态 1,行 1 表错误: 对象 ID 426848983,索引 ID 0,页 (1:618084),行 83。测试(nVarCols && (hdr->r_tagA & VARIABLE_COLUMNS))失败。值为 0 和 32。 \'tbs_d_supp\' 的 DBCC 结果。 对象 \'tbs_d_supp\' 有 503837 行,这些行位于 5617 页中。 CHECKTABLE 发现了 0 个分配错误和 2 个一致性错误(在表 \'tbs_d_supp\' 中,该表的对象 ID 为 426848983)。 repair_allow_data_loss 是最低的修复级别(对于由 DBCC CHECKTABLE (enjoy_store.dbo.tbs_d_supp ) 发现的错误而言)。 --------------------------------------------------------------------------------------- |
|||||||||||||||||||||||||
-- 作者:大脑袋 -- 发布时间:2005/11/22 9:31:12 -- 另外如果维护计划选择了"检查数据库完整性-->尝试修复所有小问题" 则执行是需要在单用户模式下,如果有人连接着数据库,有可能使维护计划失败。 ------------------------------------------------------------------------------ Microsoft (R) SQLMaint 实用工具(Unicode),版本 登录到 SQL Server“GHSS_DSRV01”以“NT AUTHORITY\\SYSTEM”(受信任)身份 开始维护计划“数据库维护计划1”(在 2005-11-22 7:36:18 上) [Microsoft SQL-DMO (ODBC SQLState: 42000)] 错误 5070: [Microsoft][ODBC SQL Server Driver][SQL Server]如果其他用户正使用数据库 \'enjoy_store\',则数据库状态不能更改 [Microsoft][ODBC SQL Server Driver][SQL Server]ALTER DATABASE 语句失败。 [Microsoft][ODBC SQL Server Driver][SQL Server]sp_dboption 命令失败。 [1] 数据库 enjoy_store: 检查数据和索引链接... [Microsoft SQL-DMO (ODBC SQLState: 42000)] 错误 7919: [Microsoft][ODBC SQL Server Driver][SQL Server]未处理修复语句。数据库需要处于单用户模式下。 发现下列错误: [Microsoft][ODBC SQL Server Driver][SQL Server]未处理修复语句。数据库需要处于单用户模式下。 ** 执行时间: 0 小时,0 分钟,1 秒 ** 结束维护计划“数据库维护计划1”(在 2005-11-22 8:09:12 上) SQLMAINT.EXE 进程退出代码: 1 (失败) |