在“数据库一致性检查”处于启用状态下执行 SQL 数据库的备份或还原时,在作业日志中显示“一或多个 SQL 数据库一致性检查失败”。

book

Article ID: 100034722

calendar_today

Updated On:

Description

问题

V-79-57344-65085 - 在“数据库一致性检查”处于启用状态下执行 SQL 数据库的备份或还原时,在作业日志中显示“一或多个 SQL 数据库一致性检查失败”。

错误消息

V-79-57344-65085 - 运行 DBCC 时出现问题。 DBCC 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'

V-79-57344-65085 - 运行 DBCC 时出现问题。

解决方案

Backup Exec 在运行数据库一致性检查过程中对 SQL 数据库执行以下检查:

 

  • CHECKDB
  • CHECKCATALOG
  • CHECKFILEGROUP
  • PHYSICAL_ONLY

          
    此检查通过向 SQL 传递控制的方式运行,且 Backup Exec 将 SQL 用作执行此检查的接口。


    如果数据库或表在计算列上有索引,DBCC CHECKDB 则需要以下 SET 选项:


    ARITHABORT、CONCAT_NULL_YIELDS_NULL、QUOTED_IDENTIFIER、ANSI_NULLS、ANSI_PADDING 以及 ANSI_WARNINGS 必须设为 ON(打开)。      

    NUMERIC_ROUNDABORT 必须设为 OFF(关闭)。      


    发生此错误很可能是因为计划从 SQL Server Agent 作业或从数据库维护计划的完整性检查执行 CHECKDB 或 CHECKTABLE。 这是因为默认情况下,SQL Server Agent 不会设置 QUOTED_IDENTIFIER 或 ARITHABORT。 要在数据库中计划执行 DBCC CHECKTABLE 或 CHECKDB 完整性检查,必须创建 SQL Server Agent 作业,且在 Transact-SQL 命令中必须添加所需的 SET 选项,如下例所示:

    SET ARITHABORT ON
    SET QUOTED_IDENTIFIER ON
    DBCC CHECKTABLE (mytable)
    go


    或者,显示此错误也可能是因为通过 Management Studio 运行以下查询:
     
  • DBCC CHECKDB([数据库名称]) WITH PHYSICAL_ONLY

    或使用 Enterprise Manager Management Studio 在 SQL Server 上配置维护作业(如下说明):
    要创建维护作业,应打开 SQL Enterprise Manager 并转至管理以启动作业,如下所示(图 1)

    图 1



    右键单击“数据库维护计划”,然后单击“新建维护计划”,如下所示(图 2):

    图 2



    这将会打开数据库维护计划向导,进而创建一个数据库维护计划作业,如以下幻灯片所示(图 3 - 11):

    图 3



    图 4



    图 5



    图 6





    图 7





    图 8





    图 9





    图 10





    图 11





    这会创建一个维护作业,您可转至 SQL Server Agent 的作业中进行查看,如下图所示(图 12):



    图 12





    要启动作业,右键单击此作业,然后单击“启动作业”,如下图所示(图 13):



    图 13






    作业将通过 SQL Server Agent 运行(Backup Exec 所用类似界面),但也将会生成相同错误“DBCC 失败,因为下列 SET 选项的设置不正确: 'QUOTED_IDENTIFIER, ARITHABORT' ,可启用 ARITHABORT 或一些其他计算功能解决此问题。


    如果上述信息无法解决问题,则应打开一个 Microsoft 支持案例。
 

 

Issue/Introduction

V-79-57344-65085 - 在“数据库一致性检查”处于启用状态下执行 SQL 数据库的备份或还原时,在作业日志中显示“一或多个 SQL 数据库一致性检查失败”。

Additional Information

UMI: V-79-57344-65085 ETrack: 0xe0008443