将数据库备份(.bak文件)导入另一个数据库

时间:2019-11-28 16:49:01

标签: sql-server restore

我正在使用Microsoft SQL Server。我有一个数据库,我们可以将它称为.bak格式的database1及其备份。 我需要将备份还原到另一个可以称为database_temp的空白数据库,因此两个数据库都必须存在。我需要从database_temp存档中获取并确认一些数据,然后在结束工作时将其删除。

我做了什么:

1)创建了新的数据库“ database_blank”

2)任务-恢复数据库。在源文件中,选择“设备”,然后选择我的.bak文件,在目标文件中,选择“ database_temp”。

3)在选项中,我选择“使用替换覆盖现有数据库”。

我收到错误消息“数据库还原失败,无法覆盖文件,数据库正在使用它”

1 个答案:

答案 0 :(得分:0)

您必须移动数据库文件。

例如

RESTORE DATABASE [AdventureWorks] FROM DISK = 'c:\backup\Adv.bak'
WITH CHECKSUM,
MOVE 'AdventureWorks_Data' TO 'c:\mssql\data\AdventureWorksCopy_Data.mdf',
MOVE 'AdventureWorks_Log' TO 'c:\mssql\log\AdventureWorksCopy_Log.ldf',
RECOVERY, REPLACE, STATS = 10;

移动的第一部分是数据库文件的逻辑文件名。右键单击原始数据库-属性-文件以获取正确的名称。

可以找到完整的语法here

相关问题