【问题标题】:Restore database using a bak file from another computer使用另一台计算机上的 bak 文件还原数据库
【发布时间】:2019-01-01 19:08:58
【问题描述】:

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

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

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

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

【问题讨论】:

  • 在搜索 .bak 文件时,如果将文件类型更改为全部,您会看到吗?默认值为 .bak、.trn、.log。但您可以将其更改为全部。
  • 即使改成all我还是看不到文件

标签: sql sql-server database-administration database-restore sql-server-2017


【解决方案1】:

我手动完成。首先,找出你的新服务器将它的数据库 (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'

【讨论】:

  • 应该是第一个MOVE 语句行尾的,
  • 是的,那里应该有一个逗号。我现在加了。
  • 我还必须做另一件非凡的事情:为NT Service/MSSQLSERVER 用户授予file.bak 文件的权限。没有它,我在使用RESTORE 时一直收到“拒绝访问”错误消息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-22
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多