我有来自 msdn 的以下查询来恢复 SQL Server 数据库备份
RESTORE DATABASE <DBName> FROM DISK = '<BackupFilePath>\<BackupFileName>'
GO
如果您想将备份加载到具有新名称的新数据库而不恢复它以替换当前数据库怎么办?
在界面中,我将选择Restore Files and Filegroups
并更改为数据库名称,然后它将创建一个包含备份数据的新名称,这可以通过简单的查询来实现吗?
我有来自 msdn 的以下查询来恢复 SQL Server 数据库备份
RESTORE DATABASE <DBName> FROM DISK = '<BackupFilePath>\<BackupFileName>'
GO
如果您想将备份加载到具有新名称的新数据库而不恢复它以替换当前数据库怎么办?
在界面中,我将选择Restore Files and Filegroups
并更改为数据库名称,然后它将创建一个包含备份数据的新名称,这可以通过简单的查询来实现吗?
上面的 restore 命令可用于指定新名称,但当旧数据库仍然存在于同一台机器上时,您会收到错误消息,因为它将尝试对数据使用相同的文件名。您可以使用 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 文档中的 restore 命令: