SQL Server 2008 r2将备份加载到另一个数据库

时间:2012-12-28 22:02:33

标签: sql sql-server-2008-r2

我从msdn有以下查询来恢复SQL Server数据库备份

RESTORE DATABASE <DBName> FROM DISK = '<BackupFilePath>\<BackupFileName>'
GO

如果要将备份加载到具有新名称的新数据库而不将其还原以替换当前的数据库,该怎么办?

在界面中我会选择Restore Files and Filegroups并更改为数据库名称然后它会创建一个包含备份数据的新数据库,这是否可以通过简单查询实现?

1 个答案:

答案 0 :(得分:1)

上面的恢复命令可用于指定新名称,但是当旧数据库仍存在于同一台计算机上时,您将收到错误,因为它将尝试对数据使用相同的文件名。您可以使用WITH MOVE子句来解决这个问题:

RESTORE DATABASE TestDB 
   FROM DISK = 'C:\Backup.BAK',
   WITH MOVE 'AdventureWorks2012_Data' TO 'C:\MySQLServer\testdb.mdf',
   MOVE 'AdventureWorks2012_Log' TO 'C:\MySQLServer\testdb.ldf';
GO

以上示例来自还原命令的MSDN文档:

http://msdn.microsoft.com/en-us/library/ms186858.aspx