我的一个数据库因为断电后造成置疑
用以下方法修复后
USE MASTER
GO
sp_dboption 'hosmisdata', 'single user', 'true'
Go
DBCC CHECKDB('hosmisdata', REPAIR_ALLOW_DATA_LOSS)修复后提示未找到'DJHZ'表或对像名.DJHZ是其中一个表,
在sysobjects中有DJHZ的名字。
但是在syscolumns中DJHZ相关的列表丢失 了。如何修复???

解决方案 »

  1.   

    系统表被破坏了,貌似没办法,找最近的备份吧,单独导入这个表.
    确认以下SQL查无资料?  select * from syscolumns where id=object_id('DJHZ')
      

  2.   

    select * from syscolumns where id=object_id('DJHZ')
    用这个查询不到数据了。没有了?
      

  3.   

    --先备份一下要修复的数据库,再执行下面的操作(此方法曾修复过2000的数据库)--把下面的数据库名blpsjxc_fzgt改成你自己的数据库名
    use master
    go
    exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE
    go
    update sysdatabases set status=32768 where name='blpsjxc_fzgt'
    go
    DBCC REBUILD_LOG ('blpsjxc_fzgt','D:\Microsoft SQL Server\MSSQL\Data\blpsjxc_fzgt.LDF')
    go
    update sysdatabases set status=0 where name='blpsjxc_fzgt' 
    go
    restore database blpsjxc_fzgt WITH RECOVERY 
    go
    exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE 
      

  4.   


    如果找到表 请对表 DBCC TABLE 看看有没有具体的错误