gpt4 book ai didi

sql - 从另一台机器上的 .bak 文件恢复数据库

转载 作者:太空狗 更新时间:2023-10-30 01:42:33 25 4
gpt4 key购买 nike

我没有做过多少 SQL,对此还是很陌生,所以请原谅这可能是一个基本问题。

我被要求研究创建一个 SQL 作业来备份我们的数据库,将 .baks 存储在另一台机器上,然后将它们恢复到第二台服务器。我一直在做一些研究并使用 SSMS,并通过设置共享并将备份作业运行到共享位置,将数据库备份到我的个人机器上。我现在正在尝试通过恢复 .bak 文件来创建一个新数据库(在我备份的同一台服务器上)(但是给数据库我正在尝试创建一个新名称等等)但是我无法指定从共享中恢复它,就像我在备份它时所做的那样/我找不到如何指定其他网络位置,并且在尝试查找文件时只是浏览服务器的 C 驱动器。

目前,我只是使用内置向导来尝试实现此目的(打开 SSMS -> 连接到服务器 -> 右键单击​​数据库 -> 还原数据库,然后选择从设备并浏览以查找文件) .

这不是最终过程,我只是想了解它的工作原理。正如我所说,这个想法是最终有一个预定的工作来将数据库从 server1 备份到我个人机器上的 .bak,然后将其恢复到服务器 2(不同网络,不同城市)上的数据库,并且可能,使用一系列 SQL 命令而不是每次都使用向导(有一些数据库最终需要备份)。

对于这个可能相当冗长和复杂的问题,我深表歉意 - 本质上,我需要知道的是我可以/如何从另一台机器上的 .bak 恢复 SSMS 中的数据库?非常感谢

最佳答案

您可以使用类似于以下脚本的内容。它从文件系统恢复数据库,并用名称“MyDB”覆盖现有数据库,将文件移动到您在此过程中选择的新位置。

RESTORE DATABASE    MyDBFROM DISK = '\\MyShare\MyBackup.bak'WITH     MOVE 'DataFile' TO 'D:\myNewDBLocation\DataFile.mdf',    MOVE 'LogFile' TO 'E:\\myNewDBLocation\LogFile.ldf', REPLACE

您可以通过运行以下命令找到 llogical 文件的名称(在上面,它们称为 DataFileLogFile:

RESTORE FILELISTONLY FROM DISK = '\\MyShare\MyBackup.bak'

有关各种选项和参数的附加信息:

RESTORE (Transact-SQL)

关于sql - 从另一台机器上的 .bak 文件恢复数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13396027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com