删了ldfsp_attach_single_file_db [ @dbname = ] 'dbname'
    , [ @physname = ] 'physical_name'

解决方案 »

  1.   

    我在另一台机器里面可以么
    两台机器的sql安装目录不同
    我恢复的时候总是说物理文件名:.ldf错误
      

  2.   

    物理文件路径加上去
    EXEC sp_attach_single_file_db @dbname = 'pubs', 
       @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
      

  3.   

    用sp_attach_single_file_db 应该能附加的
    系统会自动生成日志文件
      

  4.   

    下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。EXEC sp_detach_db @dbname = 'pubs'
    EXEC sp_attach_single_file_db @dbname = 'pubs', 
       @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'
      

  5.   

    或:CREATE DATABASE 你的旧库名 
    ON PRIMARY (FILENAME = 'c:\program files\microsoft sql server\mssql\data\你的旧库的文件.mdf')
    FOR ATTACH
    GO
      

  6.   

    用sp_attach_single_file_db 附加附加数据。
      

  7.   

    设备激活错误,物理文件名'd:\program files\mssqle\....\....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文件,然后系统自动生成一个log文件