当我们将备份拆分为多个文件时,文件数量是否有限制?

Elv*_*dov 0 backup sql-server-2016

我正在尝试将备份文件拆分为多个文件,以将它们从一个 DC 复制到另一个 DC。找不到有关最大文件数的任何信息。当我尝试将备份文件拆分为多个文件时,可以创建多少个文件?

我目前找到的唯一信息是 Ola 的备份脚本,他在其中提到了 64 个文件: https: //ola.hallengren.com/sql-server-backup.html 在此输入图像描述

AMt*_*two 8

允许的最大备份条带数为 64。

我找不到SQL Server 文档sys.messages中对此进行记录的位置,但可以通过查看错误消息 3205找到答案。

SELECT *
FROM sys.messages m
WHERE m.message_id = 3205
AND m.language_id = 1033; --Or your favorite language
Run Code Online (Sandbox Code Playgroud)

指定用于备份或恢复的备份设备过多;仅允许%d。

等等,不!这根本没有帮助!%d是一个替换字符串,它没有给我答案。

让我们用暴力来解决这个问题。

既然您指出 Ola 的代码引用 64 太多,我们可以尝试备份最多 65 个备份设备,看看会发生什么。

SELECT *
FROM sys.messages m
WHERE m.message_id = 3205
AND m.language_id = 1033; --Or your favorite language
Run Code Online (Sandbox Code Playgroud)

Msg 3205, Level 16, State 1, Line 1
Too many backup devices specified for backup or restore; only 64 are allowed.
Run Code Online (Sandbox Code Playgroud)

我已经在 Express Edition 和 Enterprise Edition 上检查过这一点 - 两者都给出了相同的答案:64。

错误消息的构建方式似乎可以更改此数字sys.messages,而无需更改 中的错误消息,但该数字似乎不会根据版本而变化 - 至少对于“盒装”产品而言不是这样。也许云版本或未来版本中这可能会改变。