删除表行数据时:
提示:“该数据库存在一致性问题。。,应该对数据库进行DBCC checkDB 和DBCC CHECKCATALOG”
可是对数据库"DBCC CHECKDB"时,提示闩锁的错误。后来我把数据库考到别的电脑上,进行删除行操作提示: “其他用户已经修改了表或视图的内容;你所修改的数据库行在数据库中已不存在!”可是,数据表中明明有内容的亚。
删除该表时,提示:“错误644,未能在索引页中找到RID:'.....'的索引条目。”
----楼上的我贴出来了,帮我看看,先谢了。
提示:“该数据库存在一致性问题。。,应该对数据库进行DBCC checkDB 和DBCC CHECKCATALOG”
可是对数据库"DBCC CHECKDB"时,提示闩锁的错误。后来我把数据库考到别的电脑上,进行删除行操作提示: “其他用户已经修改了表或视图的内容;你所修改的数据库行在数据库中已不存在!”可是,数据表中明明有内容的亚。
删除该表时,提示:“错误644,未能在索引页中找到RID:'.....'的索引条目。”
----楼上的我贴出来了,帮我看看,先谢了。
解决方案 »
- SQL查询语句中,输入表名的前几个字母,则自动弹出下拉框,提示符合的的表名,怎么设置?
- mssql或access 怎么设置默认固定10位随机正整数 ,一个字段,一千万条
- 储存过程的加密和解密?
- SQL里怎样更新这样的字段?(不好表达,见描述就明白了)
- 游标中提交动态更新语句,更新结果字段竟然少了最前面的'0'
- 怎样实现数据库动态自动生成!!!!!!!!!!!!!
- 用ROW_number实现组内逐行累加出现的问题
- SQL日期相减,根据得到的值来更新相应的字段
- 我让用户通过Modem拨入公司,访问程序,后台数据库是sql server,现在问题是???
- 如何返回满足查询条件的前10(或n)个记录?要用SQL语句实现
- 在远程服务器上建表问题
- DataGrid上面的内容,我怎么样才能直接在上面修改,然后动态的更新到数据库里面去?谢谢!
消息正文
未能在索引页 %3! 中找到 RID ''%1!'' 的索引条目(索引 ID %4!、数据库 ''%5!'')。解释
当索引 ID 表示的非聚集索引出错时发生该错误。当进程试图删除不存在的行时检测到该损坏。对策
执行不带修复子句的 DBCC CHECKDB 以确定损坏的程度。然后,执行带有 REPAIR_REBUILD 子句的 DBCC CHECKDB 以更正损坏。如果问题仍存在,则除去并重新创建该索引(如下所示),或与您的主要支持提供者联系。重要 如果执行带有 REPAIR_REBUILD 子句的 DBCC CHECKDB 未更正索引问题,或不确定带有 REPAIR_REBUILD 子句的 DBCC CHECKDB 对数据有何影响,则请与您的主要支持提供者联系。
除去并重新创建索引: 记录错误文本中指定的索引页和索引 ID 的值。
确定哪个表和索引对应于该索引页号。
记下对象 ID。
如果有错的对象是系统表(对象 ID 小于 100),则无法除去该索引。执行带有 REPAIR_REBUILD 子句的 DBCC CHECKDB 或从已知的清洁备份还原数据库。如果对象 ID 大于 100,则使用第 1 步中获得的表名和索引名称除去并重新创建该索引。在大多数情况下,这将清除该错误。
在受影响的数据库上执行带有 REPAIR_REBUILD 子句的 DBCC CHECKDB,以验证已解决所有问题。
如果问题仍存在,则该过程可能不足以清除索引错误。在这种情况下,请与您的主要支持提供者联系。使 DBCC CHECKDB 的输出可查阅。
ALTER DATABASE 数据库名 SET SINGLE_USER
用REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD 三个修复级别修复
DBCC CHECKTABLE (表名,REPAIR_FAST)
---还原数据库多用户
ALTER DATABASE 数据库名 SET MULTI_USER