dbcc checkdb('DgERP') 出现如下错误,各位兄弟们帮帮我

时间:2021-06-19 09:28:13
服务器: 消息 8946,级别 16,状态 12,行 2
表错误: 分配页 (1:32352) 的 PFS_PAGE 页首结构值无效。类型为 0。请检查该页上的类型、对象 ID 和页 ID。
服务器: 消息 8921,级别 16,状态 1,行 1
CHECKTABLE 已终止。收集事实数据时检测到失败。可能是因为 tempdb 空间用尽或某一系统表不一致。请检查前面的错误信息。
服务器: 消息 8998,级别 16,状态 1,行 1
GAM、SGAM 或 PFS 页上的页错误导致 CHECKALLOC 无法验证数据库 ID 7 中从 (1:32352) 到 (1:40439) 的页。原因请参阅其它错误信息。
服务器: 消息 8909,级别 16,状态 1,行 1
表错误: 对象 ID 3932160,索引 ID 512,页 ID (1:32352)。页首结构中的 PageId = (0:0)。
'DgERP' 的 DBCC 结果。
CHECKDB 发现了 1 个分配错误和 0 个一致性错误,这些错误并不与任何单个的对象相关联。
CHECKDB 发现了 0 个分配错误和 1 个一致性错误(在表 '(Object ID 3932160)' 中,该表的对象 ID 为 3932160)。
CHECKDB 发现了 1 个分配错误和 1 个一致性错误(在数据库 'DgERP' 中)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

15 个解决方案

#1


.帮顶.有分吗?

#2


看看先.

#3


用DBCC CHECKTABLE修复此表object_name(3932160)--得到表名

#4


还能备份数据库吗?

#5


修复时有三个选项选择,楼主可查看选项的功能说明,修复前最好备份
REPAIR_ALLOW_DATA_LOSS 
执行由 REPAIR_REBUILD 完成的所有修复,包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以及删除已损坏的文本对象。这些修复可能会导致一些数据丢失。修复操作可以在用户事务下完成以允许用户回滚所做的更改。如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。修复完成后,备份数据库。 
REPAIR_FAST 
进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。这些修复可以很快完成,并且不会有丢失数据的危险。 
REPAIR_REBUILD 
执行由 REPAIR_FAST 完成的所有修复,包括需要较长时间的修复(如重建索引)。执行这些修复时不会有丢失数据的危险。 

#6


中国风 大哥 可否加我qq。。84699119.。我详细的请教一下

#7


可否哪位说下解决方法,我是把一个丢失了日志的数据库恢复过来后出现上述错误,谢谢大家的帮忙

#8


帮顶,实在不懂。

#9


DBCC CHECKDB 看一下数据库完整性吧。

#10


我晕,原来就是checkdb出来的信息... 我9楼的回答就不要看了。

如果有备份的话,最好从备份恢复,
否则先做个完全备份,在试试5楼中国风的方法,
最后的招就是把数据库里面每一个表的记录倒出来,转到新的数据库里面。

#11


楼主估计是数据库出现置疑时,强行附加的吧!!!
以上方法,处理时先备份一份数据库文件再修复..
第一步:先用dbcc checktable修复出现错误的表object_name(3932160)
第二步:重建所有的表索引,以下方法
http://topic.csdn.net/u/20070329/17/38398e78-adac-4d7e-a8b6-f2d319d283e8.html
第三步:再用dbcc checkdb检查有没有完全修复,如果没有完全修复时,把数据导入到新的空库(做一个新的空库)。。
--------以上处理不能完全修复也可以把数据保存下来

#12


1   个分配错误----通常情况下是由于索引的分配空间错误造成的

#13


路过

#14


关注!!

#15


good212164 
 
等 级:
 发表于:2008-02-16 00:11:306楼 得分:0 
中国风   大哥   可否加我qq。。84699119.。我详细的请教一下 
-----------------------
楼主可加入QQ群:43563009 里面都是CSDN的熟面孔....有问题可在上面问(加时注明:CSDN的账号)

#1


.帮顶.有分吗?

#2


看看先.

#3


用DBCC CHECKTABLE修复此表object_name(3932160)--得到表名

#4


还能备份数据库吗?

#5


修复时有三个选项选择,楼主可查看选项的功能说明,修复前最好备份
REPAIR_ALLOW_DATA_LOSS 
执行由 REPAIR_REBUILD 完成的所有修复,包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以及删除已损坏的文本对象。这些修复可能会导致一些数据丢失。修复操作可以在用户事务下完成以允许用户回滚所做的更改。如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。修复完成后,备份数据库。 
REPAIR_FAST 
进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。这些修复可以很快完成,并且不会有丢失数据的危险。 
REPAIR_REBUILD 
执行由 REPAIR_FAST 完成的所有修复,包括需要较长时间的修复(如重建索引)。执行这些修复时不会有丢失数据的危险。 

#6


中国风 大哥 可否加我qq。。84699119.。我详细的请教一下

#7


可否哪位说下解决方法,我是把一个丢失了日志的数据库恢复过来后出现上述错误,谢谢大家的帮忙

#8


帮顶,实在不懂。

#9


DBCC CHECKDB 看一下数据库完整性吧。

#10


我晕,原来就是checkdb出来的信息... 我9楼的回答就不要看了。

如果有备份的话,最好从备份恢复,
否则先做个完全备份,在试试5楼中国风的方法,
最后的招就是把数据库里面每一个表的记录倒出来,转到新的数据库里面。

#11


楼主估计是数据库出现置疑时,强行附加的吧!!!
以上方法,处理时先备份一份数据库文件再修复..
第一步:先用dbcc checktable修复出现错误的表object_name(3932160)
第二步:重建所有的表索引,以下方法
http://topic.csdn.net/u/20070329/17/38398e78-adac-4d7e-a8b6-f2d319d283e8.html
第三步:再用dbcc checkdb检查有没有完全修复,如果没有完全修复时,把数据导入到新的空库(做一个新的空库)。。
--------以上处理不能完全修复也可以把数据保存下来

#12


1   个分配错误----通常情况下是由于索引的分配空间错误造成的

#13


路过

#14


关注!!

#15


good212164 
 
等 级:
 发表于:2008-02-16 00:11:306楼 得分:0 
中国风   大哥   可否加我qq。。84699119.。我详细的请教一下 
-----------------------
楼主可加入QQ群:43563009 里面都是CSDN的熟面孔....有问题可在上面问(加时注明:CSDN的账号)