gpt4 book ai didi

sql - 寻求从多个 bak 文件恢复到测试 SQL 数据库

转载 作者:行者123 更新时间:2023-12-05 01:07:35 26 4
gpt4 key购买 nike

我们有一个大型 SQL 数据库,我们在每晚备份中将其拆分为 4 个单独的 bak 文件,以便可以更轻松地将其发送到异地。我们使用这个语句(数据库名称已更改)

BACKUP DATABASE [Data] TO
DISK = 'd:\back\data1.bak',
DISK = 'd:\back\data2.bak',
DISK = 'd:\back\data3.bak',
DISK = 'd:\back\data4.bak'
WITH INIT, NOUNLOAD, NAME = 'Data backup', NOSKIP , STATS = 10, NOFORMAT

对于 bak 中的 mdf 和 ldf 文件,所有四个备份都具有相同的逻辑名称。

我希望能够将这四个备份还原到服务器上的不同数据库中进行测试。我在 this post 中找到了一个 t-sql 脚本我认为会这样做,但我不确定。有人可以帮忙吗?

我想我可以按如下方式调整和运行脚本:
RESTORE DATABASE Data_test FROM
DISK = 'd:\back\data1.bak',
DISK = 'd:\back\data2.bak',
DISK = 'd:\back\data3.bak',
DISK = 'd:\back\data4.bak'
WITH MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test1.mdf',
MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test2.ndf',
MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test3.ndf',
MOVE 'Prod_Data' TO 'D:\SQLDb\Data_Test4.ndf',
MOVE 'Prod_Log' TO 'C:\SQLtlogs\Data_test1.ldf'

你认为这会奏效吗?这个测试数据库会不会与恢复它的生产数据库冲突?任何帮助都会很棒,谢谢。

最佳答案

好的,我实际上让它与 SSMS 的 GUI 一起使用。您所要做的就是选择任务,恢复数据库,从设备中选择,然后添加单独的 bak 文件的所有四个文件,然后单击确定并使用覆盖进行恢复,根据需要修改 mdf 和 ldf 的文件名,以便它们用于测试数据库而不是生产。 SSMS 知道这四个文件是同一媒体集的一部分,并将它们重新组合成 mdf 和 ldf 文件。看起来我毕竟不需要脚本。

关于sql - 寻求从多个 bak 文件恢复到测试 SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18360666/

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