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

问题描述 投票:1回答:1

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

我做了什么:

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

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

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

我收到错误消息“数据库恢复失败,无法覆盖文件,数据库1正在使用该文件”

sql-server restore
1个回答
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'

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

© www.soinside.com 2019 - 2024. All rights reserved.