sql2000的sysindexes 表坏了啊.怎么修复啊?

wzqx 2015-08-04 12:17:01
查了半天 是这个表坏了.
执行select * from sysindexes
能读出前面数十行.
但继续向下翻的话提示:

---------------------------
SQL Server 企业管理器
---------------------------
[Microsoft][ODBC SQL Server Driver][SQL Server]text、ntext 或 image 节点的页 (1:4908),槽 4 不存在。
---------------------------
确定 帮助
---------------------------

我查了下资料说可以用 DBCC CHECKDB 命令修复.
提示发现了几个错误

但 DBCC CHECKDB 不能对系统表操作.请问该 如何修复?
...全文
150 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
miniburger 2019-08-26
引用 3 楼 misterliwei 的回复:
用DBCC DBREINDEX重新生成索引试试。


sysindexes是系统表,也可以用吗?


回复
miniburger 2019-08-26
引用 1 楼 道玄希言 的回复:
处理方法
处理这种数据库,分为两个大的步骤:

第一步:处理可以访问的数据表
1)找出哪些表不可访问,即:系统表中哪些记录损坏;
2)用SQL server DTS把能够访问的用户数据表导入一个新的DataBase 。
在导库时,不能选折(1)中不能访问的数据表。
第二步:处理不可访问的数据表:
1) 找出系统表中错误记录的ID;
2) 根据“错误记录的ID”,删除sysobjects、sysindexes、syscolumns 表错误的记录;
3) 根据“错误记录的ID” ,重建系统表记录;
4) 重建完毕,如果该表可以访问,那么用DTS单独将此表导入新的DataBase。
说明:重建系统表方式不一定会成功,比如由于DISK I/O错误,如果仅仅是保存系统表的磁盘扇区出错,那么重建系统表方式可以挽回数据。 如果保存用户数据表的磁盘扇区出错,那么即使重建系统表也不能解决问题。如果重要的用户数据表无法导库,如:t_Voucher、IcStockbill、ICSale等,那么可以用用“第二步”中的方法一试。


http://blog.csdn.net/ayongsoft/article/details/6740095

这个你看了沒? 有没有效果?


你好!现在是在删除sysindexes错误记录时出错:服务器: 消息 7105,级别 22,状态 3,行 1
text、ntext 或 image 节点的页 (1:144747),槽 1 不存在。

连接中断
回复
misterliwei 2015-08-04
用DBCC DBREINDEX重新生成索引试试。
回复
系统有做数据库备份和日志备份吗?
回复
道玄希言 2015-08-04
处理方法 处理这种数据库,分为两个大的步骤: 第一步:处理可以访问的数据表 1)找出哪些表不可访问,即:系统表中哪些记录损坏; 2)用SQL server DTS把能够访问的用户数据表导入一个新的DataBase 。 在导库时,不能选折(1)中不能访问的数据表。 第二步:处理不可访问的数据表: 1) 找出系统表中错误记录的ID; 2) 根据“错误记录的ID”,删除sysobjects、sysindexes、syscolumns 表错误的记录; 3) 根据“错误记录的ID” ,重建系统表记录; 4) 重建完毕,如果该表可以访问,那么用DTS单独将此表导入新的DataBase。 说明:重建系统表方式不一定会成功,比如由于DISK I/O错误,如果仅仅是保存系统表的磁盘扇区出错,那么重建系统表方式可以挽回数据。 如果保存用户数据表的磁盘扇区出错,那么即使重建系统表也不能解决问题。如果重要的用户数据表无法导库,如:t_Voucher、IcStockbill、ICSale等,那么可以用用“第二步”中的方法一试。 http://blog.csdn.net/ayongsoft/article/details/6740095 这个你看了沒? 有没有效果?
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-08-04 12:17
社区公告
暂无公告