删除数据时提示如下:Location:  logrec.cpp:551
Expression:  FALSE
SPID:  741
Process ID:  1476
Description:  Invalid switch value
消息 3624,级别 20,状态 1,第 1 行
系统断定检查已失败。有关详细信息,请查看 SQL Server 错误日志。通常,断定失败是由软件错误或数据损坏导致的。若要检查数据库是否已损坏,请考虑运行 DBCC CHECKDB。如果您同意在安装过程中将转储发送到 Microsoft,则将向 Microsoft 发送微型转储。更新可能在 Microsoft 的最新 Service Pack 或技术支持部门的 QFE 中提供。 
消息 0,级别 20,状态 0,第 0 行
当前命令发生了严重错误。应放弃任何可能产生的结果。
这是怎么回事呢?

解决方案 »

  1.   

    DBCC CHECKDB看看有什么信息,在DBCC看删除数据的表。
      

  2.   

    t_f_cost_monthly_detail的 DBCC 结果。
    消息 8928,级别 16,状态 1,第 1 行
    对象 ID 690361774,索引 ID 1,分区 ID 72057624241504256,分配单元 ID 72057624437063680 (类型为 In-row data): 无法处理页 (1:1136645)。有关详细信息,请参阅其他错误消息。
    消息 8939,级别 16,状态 5,第 1 行
    表错误: 对象 ID 690361774,索引 ID 1,分区 ID 72057624241504256,分配单元 ID 72057624437063680 (类型为 In-row data),页 (1:1136645)。测试(m_headerVersion == HEADER_7_0)失败。值为 43 和 1。
    消息 8976,级别 16,状态 1,第 1 行
    表错误: 对象 ID 690361774,索引 ID 1,分区 ID 72057624241504256,分配单元 ID 72057624437063680 (类型为 In-row data)。在扫描过程中未发现页 (1:1136645),但该页的父级 (1:1136653) 和上一页 (1:1136644) 都引用了它。请检查以前的错误消息。
    消息 8978,级别 16,状态 1,第 1 行
    表错误: 对象 ID 690361774,索引 ID 1,分区 ID 72057624241504256,分配单元 ID 72057624437063680 (类型为 In-row data)。页 (1:1136646) 缺少上一页 (1:1136645) 对它的引用。可能是因为链链接有问题。
    对象 't_f_cost_monthly_detail' 的 8757 页中有 315627 行。
    CHECKDB 在表 't_f_cost_monthly_detail' (对象 ID 690361774)中发现 0 个分配错误和 4 个一致性错误。
      

  3.   

    解决啦,根据DBCC CHECKDB的这个结果,应该是索引除了问题,我把这个表的索引重建了一下,就好了多谢AcHerat院长的提醒,哈哈