怎么出现这个问题的?
是不是直接拷贝.mdf'文件来附加的?

解决方案 »

  1.   

    楼主是在附加数据库的时候产生此问题的吗??
    一般的数据库文件名是:
    DBname_Data.MDF
    DBname_Log.LDF
      

  2.   

    把原来mdf文件先拷到其它地方,然后新建一个同名的数据库,分离,然后用原来的mdf文件覆盖新的mdf文件试试
      

  3.   

    或者:
    如果楼主F:\WellSoft\DataBase\Well_His.ldf还在的话,可以先移到其它地方,
    然后执行以下看看
    EXEC sp_attach_single_file_db @dbname = 'Well_His', 
       @physname = 'F:\WellSoft\DataBase\Well_His.mdf'
      

  4.   

    谢谢各位的回答,上面提及的方法都试过了,都不行!
    情况是这样的:估计是由于硬盘损坏,只能拷贝出mdf文件,ldf文件不能拷贝出来。
    有没有办法可以搞定啊,真的是非常重要的数据啊!客户说如果搞不好的话要杀了我啊!
    各位大虾要出手相救啊!
      

  5.   

    TRY:无数据库日志文件恢复数据库方法:  数据库日志文件的误删或别的原因引起数据库日志的损坏   1.新建一个同名的数据库  2.再停掉sql server(注意不要分离数据库)  3.用原数据库的数据文件覆盖掉这个新建的数据库  4.再重启sql server  5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)  6.完成后一般就可以访问数据库中的数据了。   这时,数据库本身一般还要问题(不要停止服务器,否则以上步骤要重新做)   解决办法是:创建一个新的数据库,并DTS导入导出向导将数据导进去就行了.USE master
    GO
    SP_CONFIGURE 'allow updates',1 RECONFIGURE WITH OVERRIDE
    GO
    UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
    GO
    SP_DBOPTION '置疑的数据库名', 'single user', 'true'
    GO
    DBCC CHECKDB('置疑的数据库名') 
    GO
    UPDATE SYSDATABASES SET STATUS =28 WHERE NAME='置疑的数据库名'
    GO
    SP_CONFIGURE 'allow updates', 0 RECONFIGURE WITH OVERRIDE
    GO
    SP_DBOPTION '置疑的数据库名', 'single user', 'false'
    GO
      

  6.   

    下面的语句还可以这样改:
    use master
    go
    sp_configure 'allow updates',1 reconfigure with override
    go
    update sysdatabases set status=-32768 where name='置疑的数据库名'
    go
    SP_DBOPTION '置疑的数据库名', 'single user', 'true'
    GO
    dbcc rebuild_log('置疑的数据库名',''F:\WellSoft\DataBase\Well_His.ldf')
    go
    sp_configure 'allow updates',0 reconfigure with override
    go
    SP_DBOPTION '置疑的数据库名', 'single user', 'false'
    GO
      

  7.   

    试一下比较笨的方法,找一个正常的MDF文件,用写字板打开它,再打开有问题的MDF文件,对比一下文件的开始部分的乱码有什么不同,试一下将开头的一部分复制过去...