我们正在现有的 P2P 复制设置中创建一个新节点。为了能够创建备份和复制文件,我备份了 9 个文件——每个大约 72Gb:
例如
BACKUP DATABASE [Database_Name] TO
DISK = 'C:\MSSQL_Backup\Database_Name_file1.bak',
DISK = 'C:\MSSQL_Backup\Database_Name_file2.bak',
DISK = 'C:\MSSQL_Backup\Database_Name_file3.bak',
DISK = 'C:\MSSQL_Backup\Database_Name_file4.bak'
等等(最多9个)
当我在新服务器上恢复时,我会将新节点添加到 P2P 拓扑中。
到目前为止一切都好吗?
问题是:当我在新节点初始化订阅时 - 我如何指定使用的备份 - 假设它由 9 个文件组成?
我在网上搜索过,虽然我发现这个问题被问过几次——但似乎没有人能回答。
我会测试这个,但我真的很赶时间。
任何帮助表示赞赏。
因为没有人回复我(很公平 - 也许你也有工作!)我已经测试过了。
我们最终没有将这种方法用于生产任务,因为决定使用 7-Zip 拆分单个 .bak 文件是可以/最好的权力。
然而,答案是——你只需要指定集合的一个文件,它工作正常(我在我的测试设置中这样做了):
正常恢复 > 当指定备份用作初始化点时,给它第一个文件名。
我假设这是因为 LSN 列在此文件中(它是否包含日志数据的正确位是无关紧要的 - 因为它只是在寻找通过日志读取器代理引用的点)。
事实上,为了仔细检查这一点,我刚刚回到我的测试设置并开始复制(在这种情况下,P2P 与 SQL 2008R2 一样,它允许您通过 SSMS GUI 向导指定备份文件 - 叫我懒惰!)通过使用我的 4 个文件备份集中的第 3 个文件,效果很好。我相信这证明了 LSN 位于备份集中每个文件的标头中,也证明了为什么使用日志备份或差异备份也有效。
只是为了确保将来需要对多文件备份初始化问题的相同答案的任何人都能找到这个 - 我需要包括我会问的初始问题,以便他们在搜索时找到这个:
问:我可以使用拆分备份集来初始化复制吗?
答:可以,只需指定还原中使用的任何 bak 文件即可进行初始化。