是在sql server 手工附加

解决方案 »

  1.   

    EXEC sp_attach_db @dbname = N'pubs', 
       @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', 
       @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'试试 看看什么提示出错
      

  2.   

    服务器: 消息 5105,级别 16,状态 4,行 1
    设备激活错误。物理文件名 'f:\database\fdzz1204_Data.ldf' 可能有误。
      

  3.   

    服务器: 消息 3624,级别 20,状态 1,行 1
     
    Location:  recovery.c:1996
    Expression:  curr->log_length > 0
    SPID:  54
    Process ID:  748连接中断
      

  4.   

    sp_attach_db databasename,'f:\database\fdzz1204_Data.ldf'就一个试试看能不能恢复上去
      

  5.   

    现在提示的是LDF文件出错,估计单文件附加也不行。
      

  6.   

    服务器: 消息 1813,级别 16,状态 2,行 1
    未能打开新数据库 'databasename'。CREATE DATABASE 将终止。
    设备激活错误。物理文件名 'E:\fdzz\database\fdzz1204_Log.LDF' 可能有误。
      

  7.   

    log 文件不要,而且数据文件是mdf也不是ldf,不知道是笔误还是错误。
      

  8.   

    新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库,该数据库被设未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 ('数据库名')看看有没有错误如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库
      

  9.   

    有个比较奇怪的问题:
    mdf 22.6M
    ldf 33.1M
    mdf<ldf
    不正常.
      

  10.   

    正常的,你可以只附加MDF文件用上面诸位出的方法,不附加日志文件,看会不会报错
      

  11.   

    新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库,该数据库被设未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 ('数据库名')看看有没有错误