原先的开发人员留下一个.save的扩展名文件,不知道是不是.bak改名的。
假设现在是.bak文件,我如何才能将此文件正确的还原或附加到sqlserver2005上?
数据库的用户名和密码都知道。。肯请各位帮忙。

解决方案 »

  1.   

    --返回由备份集内包含的数据库和日志文件列表组成的结果集。
    --主要获得逻辑文件名
    USE master
    RESTORE FILELISTONLY
       FROM DISK = 'g:\back.Bak' 
    Go
    ************************************************
    /**//*
    利用bak恢复数据库,强制还原(REPLACE)
    STATS = 10 每完成10%显示一条记录
    DBTest和DBTest_log是上面g:\back.Bak里的逻辑文件
    */
    USE master
    RESTORE DATABASE DB 
       FROM DISK = 'g:\back.Bak'
       WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB.mdf', 
       MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB_log.ldf',
    STATS = 10, REPLACE
    GO
    ++++++++++++++++++++++++++++++++/**//*
    备份数据DB 到.bak文件。然后利用此bak文件恢复一个新的数据库DBTest。
    */
    USE master
    BACKUP DATABASE DB 
      TO DISK = 'g:\DBBack0930.bak' 
    RESTORE FILELISTONLY 
      FROM DISK = 'g:\DBBack0930.bak' 
    RESTORE DATABASE DBTest 
      FROM DISK = 'g:\DBBack0930.bak' 
      WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest.mdf', 
      MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest_log.ldf'
    GO 
    ---******************************