昂捷论坛≡零售最前线≡□-技术研讨会 → 数据表错误导致日结失败的处理过程


  共有29524人关注过本帖树形打印

主题:数据表错误导致日结失败的处理过程

帅哥哟,离线,有人找我吗?
prcak47
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级管理员 帖子:145 积分:2648 威望:0 精华:0 注册:2005/12/10 16:23:42
数据表错误导致日结失败的处理过程  发帖心情 Post By:2011/9/9 17:26:02

某客户反应日结失败,手工执行指示如下错误

 

(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,没有提示错误

 


使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
wangxiaoxiao
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:昂捷团队↑ 帖子:66 积分:1669 威望:0 精华:0 注册:2008/6/4 12:42:29
  发帖心情 Post By:2011/9/11 16:02:55

是什么原因造成数据库表tb_o_sg出错的呢?


使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
prcak47
  3楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级管理员 帖子:145 积分:2648 威望:0 精华:0 注册:2005/12/10 16:23:42
  发帖心情 Post By:2011/9/13 8:48:17

店铺装修导致服务器断电,使tb_o_sg出错

而且只是索引错误,这使得流水分解过程不出错,日结过程出错。


使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
prcak47
  4楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级管理员 帖子:145 积分:2648 威望:0 精华:0 注册:2005/12/10 16:23:42
  发帖心情 Post By:2011/9/13 14:02:02

消息 8909,级别 16,状态 1,第 2 行
表错误: 对象 ID 0,索引 ID -1,分区 ID 0,分配单元 ID 72057594037927936 (类型为 Unknown),页 ID (1:178380) 在其页头中包含错误的页 ID。页头中的 PageId = (0:0)。
该错误已修复。
CHECKTABLE 发现有 0 个分配错误和 1 个一致性错误与任何单个的对象都没有关联。
CHECKTABLE 修复了 0 个分配错误和 1 个一致性错误,这些错误不与任何单个对象相关联。
tb_sum_status的 DBCC 结果。
修复: 已为数据库 'enjoy_store' 中的对象 'dbo.tb_sum_status' 成功地重新生成了 Clustered 索引。
修复: 页 (1:178380) 已从对象 ID 1609824847,索引 ID 1,分区 ID 72057607367819264,分配单元 ID 72057607569211392 (类型为 In-row data)释放。
消息 8945,级别 16,状态 1,第 2 行
表错误: 将重新生成对象 ID 1609824847,索引 ID 1。
该错误已修复。
消息 8928,级别 16,状态 1,第 2 行
对象 ID 1609824847,索引 ID 1,分区 ID 72057607367819264,分配单元 ID 72057607569211392 (类型为 In-row data): 无法处理页 (1:178380)。有关详细信息,请参阅其他错误消息。
该错误已修复。
消息 8976,级别 16,状态 1,第 2 行
表错误: 对象 ID 1609824847,索引 ID 1,分区 ID 72057607367819264,分配单元 ID 72057607569211392 (类型为 In-row data)。在扫描过程中未发现页 (1:178380),但该页的父级 (1:244139) 和上一页 (1:297738) 都引用了它。请检查以前的错误消息。
该错误已修复。
消息 8978,级别 16,状态 1,第 2 行
表错误: 对象 ID 1609824847,索引 ID 1,分区 ID 72057607367819264,分配单元 ID 72057607569211392 (类型为 In-row data)。页 (1:297739) 缺少上一页 (1:178380) 对它的引用。可能是因为链链接有问题。
该错误已修复。
对象 'tb_sum_status' 的 324 页中有 19473 行。
CHECKTABLE 在表 'tb_sum_status' (对象 ID 1609824847)中发现 0 个分配错误和 3 个一致性错误。
CHECKTABLE 在表 'tb_sum_status' (对象 ID 1609824847)中修复了 0 个分配错误和 3 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

使用IE9无法添加附件的解决方法 支持(0中立(0反对(1回到顶部
帅哥哟,离线,有人找我吗?
prcak47
  5楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级管理员 帖子:145 积分:2648 威望:0 精华:0 注册:2005/12/10 16:23:42
  发帖心情 Post By:2011/11/17 10:41:33

tbs_d_gds的 DBCC 结果。
修复: 页 (1:244425) 已从对象 ID 174883940,索引 ID 0,分区 ID 11461193891840,分配单元 ID 72057607711883264 (类型为 In-row data)释放。
修复: 已为数据库 'enjoy_store' 中的对象 'dbo.tbs_d_gds, PK_tbs_d_gds' 成功地重新生成了 Nonclustered 索引。
消息 8928,级别 16,状态 1,第 1 行
对象 ID 174883940,索引 ID 0,分区 ID 11461193891840,分配单元 ID 72057607711883264 (类型为 In-row data): 无法处理页 (1:244425)。有关详细信息,请参阅其他错误消息。
该错误已修复。
消息 8941,级别 16,状态 55,第 1 行
表错误: 对象 ID 174883940,索引 ID 0,分区 ID 11461193891840,分配单元 ID 72057607711883264 (类型为 In-row data),页 (1:244425)。测试(dbccAuditRecSucceeded == TRUE)失败。槽 2,偏移量 0x1063 无效。
该错误已修复。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 174883940,索引 ID 3。
该错误已修复。
对象 'tbs_d_gds' 的 29316 页中有 360151 行。
CHECKTABLE 在表 'tbs_d_gds' (对象 ID 174883940)中发现 0 个分配错误和 2 个一致性错误。
CHECKTABLE 在表 'tbs_d_gds' (对象 ID 174883940)中修复了 0 个分配错误和 2 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
prcak47
  6楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级管理员 帖子:145 积分:2648 威望:0 精华:0 注册:2005/12/10 16:23:42
  发帖心情 Post By:2011/12/7 14:50:43

tb_card的 DBCC 结果。
修复: 已为数据库 'enjoy_store' 中的对象 'dbo.tb_card' 成功地重新生成了 Clustered 索引。
修复: 页 (1:83480) 已从对象 ID 2095398584,索引 ID 1,分区 ID 72057607340359680,分配单元 ID 72057607679639552 (类型为 In-row data)释放。
修复: 已为数据库 'enjoy_store' 中的对象 'dbo.tb_card, in_card_cardname' 成功地重新生成了 Nonclustered 索引。
修复: 已为数据库 'enjoy_store' 中的对象 'dbo.tb_card, in_card_customer' 成功地重新生成了 Nonclustered 索引。
修复: 已为数据库 'enjoy_store' 中的对象 'dbo.tb_card, in_card_mid' 成功地重新生成了 Nonclustered 索引。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 2095398584,索引 ID 1。
该错误已修复。
消息 8928,级别 16,状态 1,第 1 行
对象 ID 2095398584,索引 ID 1,分区 ID 72057607340359680,分配单元 ID 72057607679639552 (类型为 In-row data): 无法处理页 (1:83480)。有关详细信息,请参阅其他错误消息。
该错误已修复。
消息 8941,级别 16,状态 55,第 1 行
表错误: 对象 ID 2095398584,索引 ID 1,分区 ID 72057607340359680,分配单元 ID 72057607679639552 (类型为 In-row data),页 (1:83480)。测试(dbccAuditRecSucceeded == TRUE)失败。槽 3,偏移量 0x31c 无效。
该错误已修复。
消息 8976,级别 16,状态 1,第 1 行
表错误: 对象 ID 2095398584,索引 ID 1,分区 ID 72057607340359680,分配单元 ID 72057607679639552 (类型为 In-row data)。在扫描过程中未发现页 (1:83480),但该页的父级 (1:1473) 和上一页 (1:503268) 都引用了它。请检查以前的错误消息。
该错误已修复。
消息 8978,级别 16,状态 1,第 1 行
表错误: 对象 ID 2095398584,索引 ID 1,分区 ID 72057607340359680,分配单元 ID 72057607679639552 (类型为 In-row data)。页 (1:503269) 缺少上一页 (1:83480) 对它的引用。可能是因为链链接有问题。
该错误已修复。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 2095398584,索引 ID 2。
该错误已修复。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 2095398584,索引 ID 3。
该错误已修复。
消息 8945,级别 16,状态 1,第 1 行
表错误: 将重新生成对象 ID 2095398584,索引 ID 4。
该错误已修复。
对象 'tb_card' 的 3877 页中有 116022 行。
CHECKTABLE 在表 'tb_card' (对象 ID 2095398584)中发现 0 个分配错误和 4 个一致性错误。
CHECKTABLE 在表 'tb_card' (对象 ID 2095398584)中修复了 0 个分配错误和 4 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
prcak47
  7楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级管理员 帖子:145 积分:2648 威望:0 精华:0 注册:2005/12/10 16:23:42
  发帖心情 Post By:2011/12/7 15:25:40

CHECKDB 在数据库 'enjoy_store' 中发现 0 个分配错误和 0 个一致性错误。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部