Chinaunix
标题:
DBCC CHECKTABL出现问题,怎么解决?
[打印本页]
作者:
ninekang
时间:
2009-03-30 01:04
标题:
DBCC CHECKTABL出现问题,怎么解决?
今天检查了我公司论坛的数据库,是使用的动网的DVBBS,准备转成DISCUZ,所以对数据库先进行检查。
检查下来,发现有两个表出现问题,提示信息分别如下:
Dv_bbs1的 DBCC 结果。
消息 8929,级别 16,状态 1,第 1 行
对象 ID 133575514,索引 ID 1,分区 ID 290228981596160,分配单元 ID 8754004885504 (类型为 In-row data): 在 ID 为 3833724928 的行外数据中发现错误,该数据由 RID = (1:10426:14) 标识的 data 记录所有
消息 8929,级别 16,状态 1,第 1 行
对象 ID 133575514,索引 ID 1,分区 ID 290228981596160,分配单元 ID 8754004885504 (类型为 In-row data): 在 ID 为 3833724928 的行外数据中发现错误,该数据由 RID = (1:10426:15) 标识的 data 记录所有
消息 8961,级别 16,状态 1,第 1 行
表错误: 对象 ID 133575514,索引 ID 1,分区 ID 290228981596160,分配单元 ID 71784873066102784 (类型为 LOB data)。位于页 (1:3276),槽 21,文本 ID 3833790464 的行外数据节点与它在页 (1:10426),槽 15 的引用不匹配。
对象 \'Dv_bbs1\' 的 8521 页中有 241249 行。
CHECKTABLE 在表 \'Dv_bbs1\' (对象 ID 133575514)中发现 0 个分配错误和 3 个一致性错误。
对于由 DBCC CHECKTABLE (bbs.dbo.Dv_bbs1)发现的错误,repair_allow_data_loss 是最低的修复级别。
DBC+C 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
Dv_User的 DBCC 结果。
消息 8929,级别 16,状态 1,第 1 行
对象 ID 1426104121,索引 ID 1,分区 ID 374936136384512,分配单元 ID 93461159673856 (类型为 In-row data): 在 ID 为 18486853632 的行外数据中发现错误,该数据由 RID = (1:19613:6) 标识的 data 记录所有
消息 8929,级别 16,状态 1,第 1 行
对象 ID 1426104121,索引 ID 1,分区 ID 374936136384512,分配单元 ID 93461159673856 (类型为 In-row data): 在 ID 为 18487050240 的行外数据中发现错误,该数据由 RID = (1:30534:0) 标识的 data 记录所有
消息 8929,级别 16,状态 1,第 1 行
对象 ID 1426104121,索引 ID 1,分区 ID 374936136384512,分配单元 ID 93461159673856 (类型为 In-row data): 在 ID 为 18487050240 的行外数据中发现错误,该数据由 RID = (1:30534:1) 标识的 data 记录所有
消息 8965,级别 16,状态 1,第 1 行
表错误: 对象 ID 1426104121,索引 ID 1,分区 ID 374936136384512,分配单元 ID 71869580220891136 (类型为 LOB data)。位于页 (0:19031),槽 16,文本 ID 18486853632 的行外数据节点由页 (1:19613),槽 6 引用,但扫描过程中未检测到该节点。
消息 8964,级别 16,状态 1,第 1 行
表错误: 对象 ID 1426104121,索引 ID 1,分区 ID 374936136384512,分配单元 ID 71869580220891136 (类型为 LOB data)。位于页 (1:19031),槽 16,文本 ID 18486853632 的行外数据节点未被引用。
消息 8961,级别 16,状态 1,第 1 行
表错误: 对象 ID 1426104121,索引 ID 1,分区 ID 374936136384512,分配单元 ID 71869580220891136 (类型为 LOB data)。位于页 (1:19031),槽 23,文本 ID 18487115776 的行外数据节点与它在页 (1:30534),槽 1 的引用不匹配。
消息 8951,级别 16,状态 1,第 1 行
表错误: 表 \'Dv_User\' (ID 1426104121)。数据行在索引 \'IX_user\' (ID 2)中没有匹配的索引行。与以下数据行匹配的索引行的键可能丢失或无效:
消息 8955,级别 16,状态 1,第 1 行
数据行(1:41519:3)由(UserID = 10153)标识,索引值为 \'UserID = 10153 and UserPost = 72 and userWealth = 91 and UserGroupID = 4\'。
消息 8952,级别 16,状态 1,第 1 行
表错误: 表 \'Dv_User\' (ID 1426104121)。索引 \'IX_user\' (ID 2)中的索引行与任何数据行都不匹配。可能是以下行的多余或无效的键:
消息 8956,级别 16,状态 1,第 1 行
索引行(1:20092:65)的值为(UserID = 10153 and UserPost = 73 and userWealth = 91 and UserGroupID = 4),指向由(UserID = 10153)标识的数据行。
消息 8951,级别 16,状态 1,第 1 行
表错误: 表 \'Dv_User\' (ID 1426104121)。数据行在索引 \'toplist_1\' (ID 5)中没有匹配的索引行。与以下数据行匹配的索引行的键可能丢失或无效:
消息 8955,级别 16,状态 1,第 1 行
数据行(1:41519:3)由(UserID = 10153)标识,索引值为 \'UserPost = 72 and UserID = 10153\'。
消息 8952,级别 16,状态 1,第 1 行
表错误: 表 \'Dv_User\' (ID 1426104121)。索引 \'toplist_1\' (ID 5)中的索引行与任何数据行都不匹配。可能是以下行的多余或无效的键:
消息 8956,级别 16,状态 1,第 1 行
索引行(1:135945:193)的值为(UserPost = 73 and UserID = 10153),指向由(UserID = 10153)标识的数据行。
对象 \'Dv_User\' 的 17043 页中有 208158 行。
CHECKTABLE 在表 \'Dv_User\' (对象 ID 1426104121)中发现 0 个分配错误和 10 个一致性错误。
对于由 DBCC CHECKTABLE (bbs.dbo.Dv_User)发现的错误,repair_allow_data_loss 是最低的修复级别。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
请问怎么修改?
我检查了目前正在运行的数据库,都是这样
作者:
skyer_ljb
时间:
2009-03-30 17:37
-----修复表
declare @databasename varchar(255)
set @databasename=\'AIS20040410151558\'------一定要在此手工输入你的张套实体名
exec sp_dboption @databasename, N\'single\', N\'true\'
dbcc checktable(\'t_FuncControl\',REPAIR_ALLOW_DATA_LOSS)
dbcc checktable(\'t_FuncControl\',REPAIR_REBUILD)
exec sp_dboption @databasename, N\'single\', N\'false\'
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2