附加数据库后,一个表不见了
由于数据库错误分离了数据库,然后普通附加不成功,使用了如下方法:
EXEC sp_detach_db @dbname= 'zghzp '
EXEC sp_attach_single_file_db @dbname= 'zghzp ',
@physname= 'D:\Program Files\Data\zghzp.mdf '
数据库附加成功!
1、打开企业管理器,查看数据库,失去一个表.
2、打开查询分析器在左边的树行图中可以看到丢失的表,但是查看该表!可是使用sql查询语句:
select * from cc_info_agency 出来如下错误。
------------------
服务器: 消息 644,级别 21,状态 3,行 1
未能在索引页 (1:21180) 中找到 RID '16d0b0e870100 ' 的索引条目(索引 ID 0,数据库 'zghzp ')。
连接中断
--------
3、使用 dbcc checkdb ( 'zghzp ') , 出来如下错误。
-----------------
服务器: 消息 602,级别 21,状态 16,行 1
未能在 sysindexes 中找到数据库 ID 7 中对象 ID 1718297181 的索引 ID -1 对应的行。请对 sysindexes 运行 DBCC CHECKTABLE。
连接中断
----------------
各位我该怎么办呀 我这个表很重要!
------解决方案--------------------DBCC DBREINDEX (表名, ' ', 70)--重建表的索引
------解决方案--------------------try:
use master
go
sp_dboption 'dbname ', 'single user ', 'true '
go
dbcc checkdb( 'dbname ', repair_rebuild)
go
use dbname
go
exec sp_msforeachtable 'dbcc checktable( ' '? ' ',repair_rebuild) '
go
sp_dboption 'dbname ', 'single user ', 'false '
go