【问题标题】:Restore Database and change the location for MDF File还原数据库并更改 MDF 文件的位置
【发布时间】:2011-11-03 12:23:13
【问题描述】:

我不会恢复我的数据库,但位置路径不一样。我怎样才能改变这个路径(分区)?

RESTORE DATABASE [MY_DATABASE] 
FROM  DISK = 'C:\Content.bak' 
WITH  FILE = 1,  
NOUNLOAD,  
STATS = 10

错误信息:

消息 5133,第 16 级,状态 1,第 1 行
文件“F:....\Content01.mdf”的目录查找失败,出现操作系统错误 3(无法检索此错误的文本。 原因:15100)。
消息 3156,第 16 级,状态 3,第 1 行
文件“Content01”无法恢复到“F:....\Content01.mdf”。使用 WITH MOVE 确定文件的有效位置。
消息 5133,第 16 级,状态 1,第 1 行
文件“H:....\Content01_log.LDF”的目录查找失败,出现操作系统错误 3(未能为此检索文本 错误。原因:15105)。
消息 3156,第 16 级,状态 3,第 1 行
文件“Content01_log”无法恢复到“H:....\Content01_log.LDF”。使用 WITH MOVE 来识别一个有效的 文件的位置。
消息 3119,第 16 级,状态 1,第 1 行
在规划 RESTORE 语句时发现了问题。以前的消息提供了详细信息。
消息 3013,第 16 级,状态 1,第 1 行
RESTORE DATABASE 异常终止。

谢谢。

【问题讨论】:

    标签: database sql-server-2008-r2 restore


    【解决方案1】:
    RESTORE DATABASE [My_Database] 
    FROM DISK = 'C:\Content.bak'
    WITH MOVE 'MyDatabase_Data' TO 'C:\Data\MyDatabase_Data.mdf',
    MOVE 'MyDatabase_Log' TO 'C:\Data\MyDatabase_Log.ldf',
    REPLACE,
    STATS=10
    

    【讨论】:

      【解决方案2】:

      SO Question 中所述,使用恢复的WITH MOVE 命令。

      【讨论】:

        【解决方案3】:

        如果有人因为要恢复包含多个文件的数据库而出现在这里,则每个目标文件都需要一个新名称。使用SQL Server 2008 R2,gui没有提供明显的线索,也没有自动解决。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-01
          • 2012-04-15
          • 2015-08-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多