解决方案: |
查看修复过程,发现出错的内容为“CHECKDB 发现了 1 个分配错误和 0 个一致性错误(在表 '(Object ID 2062122587)' 中,该表的对象 ID 为 2062122587)”,具体分析过程如下: 1.使用select object_name(2062122587) 查看ID 2062122587,发现内容为空。 2.使用select * from sysobjects where ID = 2062122587,发现内容也为空,而使用select * from sysindexes where ID = 2062122587,却有一条记录。 3.显然此记录不应存在(sysobjects表中记录数据库的所有对象,此表没有的数据,在其他地方也不应存在) 4.在企业管理器中,选择数据库所在SQL注册(一般为默认的local),右键/属性-服务器设置,选择“允许对系统目录进行修改”, 5.然后使用delete from sysindexes where id = 2062122587删除此记录,重新修复数据库。 6.再恢复第4步的操作。问题即可解决。 注:第4步和第6步操作,可以分别使用如下语句代替: 第4步: sp_configure 'allow', 1 --1:更改为可修改系统表 reconfigure with override 第6步: sp_configure 'allow', 0 --0:更改为不可修改系统表 reconfigure with override |