某客户反应日结失败,手工执行指示如下错误
(1 行受影响)
(1 行受影响)
消息 0,级别 11,状态 0,第 0 行
当前命令发生了严重错误。应放弃任何可能产生的结果。
找到日结过程,单步执行后,发现是tb_o_sg表提示错误
执行select * from tb_o_sg就会有这种错误
用语句检查表
dbcc checktable('tb_o_sg')
返回信息是正常的
重建索引提示错误,删除索引in_o_sg_gds失败,删除索引PK_tb_o_sg成功,创建失败。
用语句
----将数据库创建为单用户
ALTER DATABASE enjoy_store
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
----修复表及其索引
dbcc checktable('tb_o_sg',REPAIR_ALLOW_DATA_LOSS)
----恢复数据库状态
ALTER DATABASE enjoy_store
SET MULTI_USER;
执行结果如下
tb_o_sg的 DBCC 结果。
修复: 已为数据库 'enjoy_store' 中的对象 'dbo.tb_o_sg' 成功地重新生成了 Clustered 索引。
修复: 页 (1:193916) 已从对象 ID 983934827,索引 ID 1,分区 ID 72057607359823872,分配单元 ID 72057607649361920 (类型为 In-row data)释放。
修复: 已为数据库 'enjoy_store' 中的对象 'dbo.tb_o_sg, in_o_sg_datetime' 成功地重新生成了 Nonclustered 索引。
修复: 已为数据库 'enjoy_store' 中的对象 'dbo.tb_o_sg, in_o_sg_identity' 成功地重新生成了 Nonclustered 索引。
修复: 已为数据库 'enjoy_store' 中的对象 'dbo.tb_o_sg, in_o_sg_seller' 成功地重新生成了 Nonclustered 索引。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 983934827,索引 ID 1。
该错误已修复。
消息 8928,级别 16,状态 1,第 1 行
对象 ID 983934827,索引 ID 1,分区 ID 72057607359823872,分配单元 ID 72057607649361920 (类型为 In-row data): 无法处理页 (1:193916)。有关详细信息,请参阅其他错误消息。
该错误已修复。
消息 8944,级别 16,状态 15,第 1 行
表错误: 对象 ID 983934827,索引 ID 1,分区 ID 72057607359823872,分配单元 ID 72057607649361920 (类型为 In-row data),页 (1:193916),行 0。测试(nVarCols && (hdr->r_tagA & RecConst::VARIABLE_COLUMNS))失败。值为 0 和 32。
该错误已修复。
消息 8944,级别 16,状态 15,第 1 行
表错误: 对象 ID 983934827,索引 ID 1,分区 ID 72057607359823872,分配单元 ID 72057607649361920 (类型为 In-row data),页 (1:193916),行 0。测试(nVarCols && (hdr->r_tagA & RecConst::VARIABLE_COLUMNS))失败。值为 0 和 32。
该错误已修复。
消息 8976,级别 16,状态 1,第 1 行
表错误: 对象 ID 983934827,索引 ID 1,分区 ID 72057607359823872,分配单元 ID 72057607649361920 (类型为 In-row data)。在扫描过程中未发现页 (1:193916),但该页的父级 (1:206592) 和上一页 (1:193914) 都引用了它。请检查以前的错误消息。
该错误已修复。
消息 8978,级别 16,状态 1,第 1 行
表错误: 对象 ID 983934827,索引 ID 1,分区 ID 72057607359823872,分配单元 ID 72057607649361920 (类型为 In-row data)。页 (1:193917) 缺少上一页 (1:193916) 对它的引用。可能是因为链链接有问题。
该错误已修复。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 983934827,索引 ID 2。
该错误已修复。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 983934827,索引 ID 3。
该错误已修复。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 983934827,索引 ID 28。
该错误已修复。
对象 'tb_o_sg' 的 5621 页中有 127062 行。
CHECKTABLE 在表 'tb_o_sg' (对象 ID 983934827)中发现 0 个分配错误和 5 个一致性错误。
CHECKTABLE 在表 'tb_o_sg' (对象 ID 983934827)中修复了 0 个分配错误和 5 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
再执行select * from tb_o_sg,没有提示错误