可能重复:
SQL Server 备份是单线程还是多线程?
SQL Server 是否为每个备份设备(备份文件)使用单独的编写器线程,或者仅当您跨多个备份卷(驱动器号、LUN 或安装点)对备份进行条带化时才使用单独的线程?
例如,我们在这里获得三个写入线程还是
backup database dbName to DISK = 'D:\file1.bak',
DISK = 'D:\file2.bak',
DISK = 'D:\file3.bak'
或以下加快备份速度,因为您正在写入不同的卷
backup database dbName to DISK = 'D:\file1.bak',
DISK = 'E:\file2.bak',
DISK = 'F:\file3.bak'
在上面每个盘符是一个单独的 IO 路径。我了解 IO 吞吐量对于备份速度也非常重要。
是的,我用 2TB 的数据库对此进行了测试。将备份时间分成 4 个文件并将它们放在同一个驱动器中后,备份时间从 5 小时减少到大约 4 小时 15 分钟。另一个优点是,如果您的驱动器 IOPS 是瓶颈,您可以将它们备份到单独的驱动器。
此外,我相信 Paul Randall 在他的“Microsoft Certified Master Backup and Restore internals”模块中介绍了这一点。
/编辑:此外,我一直在测试与 RoboCopy 的 /MT 命令(多线程)类似的东西,我们在执行备份文件的多线程副本时获得了类似的性能提升。在我们的下一次备份期间,我将测试是否也看到多个 SPID。