我们有一个大型 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 文件,所有四个备份都具有相同的逻辑名称。
我希望能够将这四个备份恢复到服务器上的不同数据库中进行测试。我在这篇文章中找到了一个 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'
你认为这行得通吗?这个测试数据库不会与恢复它的产品数据库冲突吗?任何帮助都会很棒,谢谢。