我没有做过太多 SQL 工作,而且对此还很陌生,所以请原谅这可能是一个基本问题。
我被要求考虑创建一个 SQL 作业来备份我们的数据库,将 .baks 存储在另一台计算机上,然后将它们恢复到第二台服务器。我做了一些研究并使用 SSMS,并通过设置共享并向共享位置运行备份作业将数据库备份到我的个人计算机。我现在尝试通过恢复 .bak 文件来创建一个新数据库(在我备份的同一服务器上)(但给数据库我试图创建一个新名称和其他什么),但我无法指定从共享恢复它,就像我在备份时所做的那样/我找不到如何指定其他网络位置,当我尝试查找文件时,我只是浏览服务器的 C 驱动器。
目前,我只是使用内置向导来尝试实现此目的(打开 SSMS -> 连接到服务器 -> 右键单击数据库 -> 恢复数据库,然后选择从设备并浏览以查找文件)。
这不是最终的过程,只是我试图掌握它是如何工作的。正如我所说,这个想法是最终有一个预定的工作,将数据库从 server1 备份到我个人机器上的 .bak,然后将其恢复到 server2 上的数据库(不同的网络,不同的城市),并且可能,使用一系列 SQL 命令,而不是每次都使用向导(最终有一些数据库需要备份)。
我对这个可能相当冗长且令人费解的问题表示歉意 - 本质上,我需要知道的是我可以/如何从另一台机器上的 .bak 恢复 SSMS 中的数据库?
非常感谢
您可以使用类似以下脚本的内容。它从文件系统恢复数据库,并用名称“MyDB”覆盖现有数据库,将文件移动到您在此过程中选择的新位置。
RESTORE DATABASE
MyDB
FROM DISK = '\\MyShare\MyBackup.bak'
WITH
MOVE 'DataFile' TO 'D:\myNewDBLocation\DataFile.mdf',
MOVE 'LogFile' TO 'E:\\myNewDBLocation\LogFile.ldf'
, REPLACE
您可以找到逻辑文件的名称(在上面,这些文件称为DataFile
and LogFile
通过运行以下命令:
RESTORE FILELISTONLY
FROM DISK = '\\MyShare\MyBackup.bak'
有关各种选项和参数的附加信息:
恢复 (Transact-SQL)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)