调用存储过程sp_attach_db
示例:
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'也可用下面的方法不过不如上面的好用可运行多次才行:
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'中间按照提示操作就行了!
……………………………………………………………………………………
     .--,       .--,
    ( (  \.---./  ) )
     '.__/o   o\__.'
        {=  ^  =}
         >  -  <
        /       \
       //       \\
      //|   .   |\\
      "'\       /'"_.-~^`'-.
         \  _  /--'         `
       ___)( )(___
      (((__) (__)))
……………………………………………………………………………………

解决方案 »

  1.   

    备份文件可以直接恢复数据库文件能否用sp_detach_db 就没试过
      

  2.   

    你的可以这样写:
    EXEC sp_attach_db @dbname = N'His',  --以前的数据库名称
       @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\his.mdf',        --his.mdf完整的路径文件名
       @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\his.ldf'         --his.ldf完整路径文件名在查询编辑器里,选中Master数据库,在运行!
    ……………………………………………………………………………………
         .--,       .--,
        ( (  \.---./  ) )
         '.__/o   o\__.'
            {=  ^  =}
             >  -  <
            /       \
           //       \\
          //|   .   |\\
          "'\       /'"_.-~^`'-.
             \  _  /--'         `
           ___)( )(___
          (((__) (__)))
    ……………………………………………………………………………………