CREATE UNIQUE INDEX 语句终止 有重复的键 修复

数据类型 MSSQL 2008R2

数据大小 26 GB

故障检测 服务器出问题,导致数据库很多表错误 DBCC 命令无法修复。
消息 1505,级别 16,状态 1,第 1 行
因为发现对象名称 'dbo.tbCICostDetail' 和索引名称 'PK_tbCICostDetail_1' 有重复的键,所以 CREATE UNIQUE INDEX 语句终止。重复的键值为 (18305247)。
消息 1505,级别 16,状态 1,第 1 行
因为发现对象名称 'dbo.tbCICostDetail' 和索引名称 'PK_tbCICostDetail_1' 有重复的键,所以 CREATE UNIQUE INDEX 语句终止。重复的键值为 (18305247)。
tbCICostDetail的 DBCC 结果。
修复: 已为数据库 'ytDHP1' 中的对象 'dbo.tbCICostDetail, CT_tbCICostDetail_fq' 成功地重新生成了 Nonclustered 索引。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 1817109564,索引 ID 1。
        无法修复此错误。
消息 8978,级别 16,状态 1,第 1 行
表错误: 对象 ID 1817109564,索引 ID 1,分区 ID 72057594200719360,分配单元 ID 72057594260553728 (类型为 In-row data)。页 (1:129918) 缺少上一页 (1:398304) 对它的引用。可能是链链接有问题。
        该错误已修复。
消息 8976,级别 16,状态 1,第 1 行
表错误: 对象 ID 1817109564,索引 ID 1,分区 ID 72057594200719360,分配单元 ID 72057594260553728 (类型为 In-row data)。在扫描过程中未发现页 (1:398304),但该页的父级 (1:163564) 和上一页 (1:333611) 都引用了它。请检查以前的错误消息。
        该错误已修复。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 1817109564,索引 ID 2。
        无法修复此错误。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 1817109564,索引 ID 3。
        该错误已修复。
对象 'tbCICostDetail' 的 170942 页中有 2858499 行。
CHECKTABLE 在表 'tbCICostDetail' (对象 ID 1817109564)中发现 0 个分配错误和 2 个一致性错误。
CHECKTABLE 在表 'tbCICostDetail' (对象 ID 1817109564)中修复了 0 个分配错误和 2 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

客户要求 恢复数据库数据 修复好 HISERP可直接使用。

修复结果 文件传来后 使用极佳SQL数据库物理修复工具修正配合DBCC  修复数据库, 安装ERP测试,恢复后的数据库完全使用,没有任何问题。

半小时内修复OK 数据库快速上线。 

CREATE UNIQUE INDEX 语句终止 有重复的键 修复

CREATE UNIQUE INDEX 语句终止 有重复的键 修复

此类故障一般是由于 数据库断电 非法关机 脏页未释放 磁盘问题导致。注意防范