首页 > 解决方案 > 使用另一台计算机上的 bak 文件还原数据库

问题描述

我的 PC 上有一个 SQL Server 数据库。我备份了我的数据库,所以现在我有一个.bak文件。

我最近带了一台新电脑,想将数据库从我的旧电脑移到这台电脑上。

我去恢复数据库并在源下单击设备。然后我将备份媒体类型设置为文件,然后单击添加。我浏览到我的.bak文件所在的位置。但是,当我浏览到此目录时,没有显示我不明白为什么的文件?

我可以不只是将备份文件从我的旧电脑复制到我的新电脑吗?我错过了什么?

标签: sqlsql-serverdatabase-administrationdatabase-restoresql-server-2017

解决方案


我手动完成。首先,找出你的新服务器将它的数据库(mdf)和日志(ldf)文件保存在哪里

SELECT name, physical_name FROM sys.master_files

然后,找出备份中这些文件的逻辑名称

restore FILELISTONLY FROM DISK='c:\dir\file.bak'

最后,使用组合该信息进行恢复:

RESTORE DATABASE DataBaseToCreate
    FROM DISK = 'c:\dir\file.bak' 
    WITH REPLACE, 
    MOVE 'DBLogicalName' TO  'C:\DB_DIR\DataBaseToCreate.mdf',
    MOVE 'LogLogicalName' TO  'C:\LOG_DIR\DatabaseToCreate.ldf'

推荐阅读