新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库,该数据库被设为suspect把数据库改成紧急模式:
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = '数据库名'把LDF文件改名,再执行
DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\fdzz1204_Log.LDF' )恢复数据库紧急模式
update sysdatabases set status = 0 where name = '数据库名'
执行
restore database 数据库名 WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override然后用DBCC CHECKDB ('数据库名')看看有没有错误如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库

解决方案 »

  1.   

    谢谢马可的回答.我不太懂.在第一步时,就出错,说有同名数据库存在,不能建...
    再问紧急模式如何设....
    我用你的sp_configure 'allow', 1
    reconfigure with override
    update sysdatabases set status = 32768 where name = 'face'
    说..没有启动这个
      

  2.   

    停止服務器
    copy X.ldf,X.mdf
    啟動服務器
    刪除該database
    建同名database
    停止服務器
    覆蓋 X.mdf繼續txlicenhe的
      

  3.   

    1:哦,第一步是没必要的,只是说如果那样做的话,会出现置疑。
    2:要在master数据库中进行
    3:没有启动什么?
      

  4.   

    谢谢两们大侠...
    搞定了.
    停止服務器
    copy X.ldf,X.mdf
    啟動服務器
    刪除該database
    建同名database
    停止服務器
    覆蓋 X.mdf
    再加一个覆蓋 X.LOG请问这个紧急模式
    要如何启动?
      

  5.   

    如果是SQL6.5的呢?那我该怎么办呢?