• RESTORE DATABASE命令还原SQLServer 2005 数据库


    今天在sqlServer20005 的management studio里使用bak文件还原数据库的时候,总是失败!

    Restore failed for Server 'ADANDELI'.  (Microsoft.SqlServer.Smo)

    An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo

    The backup set holds a backup of a database other than the existing 'AAA' database.

    RESTORE DATABASE is terminating abnormally. (Microsoft SQL Server,错误: 3154)

    找不到原因(已经选择了"overwrite the existing database"),只能使用命令来还原了,不知道为什么会这样.

    --返回由备份集内包含的数据库和日志文件列表组成的结果集。

    --主要获得逻辑文件名

    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 

    ---******************************

  • 相关阅读:
    学习之路
    c
    为什么正确,还是有点bug?
    1212
    学习呀
    记录一下学习c语言的过程3.26日1
    字符串处理
    二维数组的转置
    一维数组转置
    Mybatis读取数据实战
  • 原文地址:https://www.cnblogs.com/zxjyuan/p/2130077.html
Copyright © 2020-2023  润新知