none
SQL Server 2012 企业版做常规的数据库完整性检查时出错,不知道如何诊断和处理 RRS feed

  • 问题

  • 大家好,

    数据库版本是 SQLServer 2012企业版,并且使用了Always-On高可用,每周末做常规性的备份,第一步会做数据库检查,上周六中午做数据库检查一步骤时发生了错误,日志信息:

    Check Database integrity on Local server connection
    Databases that have a compatibility level of 70 (SQL Server version 7.0) will be skipped.
    Databases: All databases
    Include indexes
    Task start: 2017-11-25T12:00:05.
    Task end: 2017-11-25T14:29:14.
    Failed:(-1073548784) Executing the query "DBCC CHECKDB(N'wss-na-ecs')  WITH NO_INFOMSGS
    ..." failed with the following error: "Table error: Object ID 2089058478, index ID 1, partition ID 72057594964148224, alloc unit ID 72057594043564032 (type LOB data). The off-row data node at page (1:2522), slot 0, text ID 563544064 is referenced by page (1:2506), slot 0, but was not seen in the scan.
    A severe error occurred on the current command.  The results, if any, should be discarded.
    CHECKDB found 0 allocation errors and 1 consistency errors in table 'AllDocStreams' (object ID 2089058478).
    CHECKDB found 0 allocation errors and 1 consistency errors in database 'wss-na-ecs'.
    repair_allow_data_loss is the minimum repair level for the errors found by DBCC CHECKDB (wss-na-ecs).". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.

    不知道这个会有什么影响? 如何去处理呢?

    2017年11月27日 5:25

全部回复

  • 以可能丢失数据的参数(repair_allow_data_loss)检查、修复下表:object_name(2089058478)

    如果数据敏感,再拿个备份对比下数据,手工更新“可能丢失”的那部分数据


    SQL Server 2016 ~ 2000 性能优化、方案设计 QQ:315054403 田园嘉兴

    2017年11月27日 12:03
  • Rebuild all indices on that table then run dbcc again.
    2017年11月27日 14:07
  • 那么是不是指的这个数据库有数据丢失了呢?

    在做每周数据库备份的时候不做数据库完整性检查这一步可以吗?

    2017年11月28日 1:38
  • Maybe link between row and blob data broke. Better to check db in scheduled maintenance windows to avoid big problem down the road. 
    2017年11月28日 3:38