text,ntext或image节点的页(1:835),槽4不存在的解决方法


检查数据库中,突然出现
text,ntext或image节点的页(1:835),槽4不存在
修复错误的路很长,先备份了数据库,然后开始征途

1.
运行
dbcc checkdb('85game_db')
出结果。

CHECKDB 发现了 0 个分配错误和 5 个一致性错误(在表 'DP_SoftList' 中,该表的对象 ID 为 213575799)。

表明 表 'DP_SoftList' 中 有错误

2.
以repair_allow_data_loss级别修复表
dbcc   checktable('DP_SoftList',repair_allow_data_loss)  
go
出结果
提示 未处理修复语句。数据库需要处于单用户模式下。
需要将数据库改为"单用户模式"
3.
于是再执行:
alter database "85game_db" set single_user with rollback immediate
go
数据库已经变更为单用户模式
4.
已repair_allow_data_loss级别修复表
dbcc checktable('DP_SoftList',repair_allow_data_loss)  
go
结果
'DP_SoftList' 的 DBCC 结果。
        该错误已修复。
        该错误已修复。
        该错误已修复。
        该错误已修复。
        该错误已修复。
修复: 已删除文本列,文本 ID 5593759744(属于对象 ID 213575799,位于页 (1:3939),槽 12)。
修复: 已删除文本列,文本 ID 5592711168(属于对象 ID 213575799,位于页 (1:6365),槽 9)。
对象 'DP_SoftList' 有 25371 行,这些行位于 1251 页中。
CHECKTABLE 发现了 0 个分配错误和 5 个一致性错误(在表 'DP_SoftList' 中,该表的对象 ID 为 213575799)。
CHECKTABLE 修复了 0 个分配错误和 5 个一致性错误(在表 'DP_SoftList' 中,该表的对象 ID 为 213575799)。

5.
不放心 再执行2个修复
修复索引表
DBCC   DBREINDEX('DP_SoftList')  
再修复表
DBCC   CHECKTABLE('DP_SoftList')
完全没错误提示了

6.恢复多用户模式
alter database "85game_db" set multi_user   with rollback immediate

重新执行数据库,全部搞定了!知道的东西太少了,学习的时间太少了!



评论: 0 | 引用: 0 | 查看次数: 947
发表评论
你没有权限发表留言!