从备份更改mdf和ldf路径创建新数据库

时间:2013-06-05 11:27:52

标签: tsql sql-server-2005

我有一系列的手工工作:

  1. 创建指定备用.mdf.ldf文件位置的新数据库。
  2. 使用上面定义的替代路径恢复新数据库中的先前备份并覆盖所有内容
  3. 我该怎么做?我试过了:

    RESTORE DATABASE newdb 
    FROM DISK = 'F:\Shared\newdb.bak'
    WITH MOVE 'newdb' TO 'G:\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\newdb.mdf',  
         MOVE 'newdb_log' TO 'G:\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\newdb_log.ldf',
    replace
    

    但我得到了:

      

    逻辑文件'newdb'不是数据库'newdb'的一部分   使用RESTORE FILELISTONLY列出逻辑文件名   RESTORE DATABASE异常终止。

    如果我使用FILELISTONLY,我会遇到另一种错误:

      

    关键字'with'附近的语法不正确。如果此语句是公用表表达式或xmlnamespaces子句,则必须以分号结束前一个语句。

1 个答案:

答案 0 :(得分:1)

您需要使用

找出逻辑名称
RESTORE FILELISTONLY 
FROM DISK = 'F:\Shared\newdb.bak'

这将为您提供备份中包含的所有逻辑文件及其逻辑名称。

有了这些信息,您应该能够正确构建RESTORE DATABASE命令。

有关详细信息,请参阅relevant MSDN SQL Server Books Online documentation