大型数据库的备份调整

Dav*_* M. 6 sql-server backup tuning

我正在使用压缩、写入多个文件以及更改BufferCountMaxTransferSize选项来调整 SQL Server 备份。我有一个 SQL Server 实例,其中包含 4 TB 数据库和几个从几 MB 到 150 GB 的较小数据库。

我的问题是,我是否可以开始使用 150 GB 数据库进行调整,然后将这些设置应用到 4 TB 备份,只需进行最小的更改,或者 4 TB 是否需要从头开始拥有自己的“调整会话”?由于通常需要多次备份尝试才能拨入设置,因此我尝试在可能的情况下快速开始调整 4 TB 数据库。

Kin*_*hah 3

将整个数据库备份到单个文件会慢得多。您可以考虑以下几点

  • 将备份条带化到 SAN 上的不同轴上。
  • 使用备份压缩(会消耗更多 CPU),但会导致备份和恢复操作期间总体 I/O 操作减少。
  • 您可以使用trace flags 3605和找出备份中使用的3213默认BUFFERCOUNT值,然后进行相应调整。
  • 将您的值设置max memory为远离默认值,因为当您增加BUFFERCOUNT和时MAXTRANSFERSIZE,它们需要额外的内存。
  • 对于您的 4TB 数据库,假设您有不同的文件组来放置最近和历史数据,您可以将历史数据标记为READ_ONLY,然后只备份一次。您应该定期备份读/写文件组。
  • 使用BACKUP ... WITH CHECKSUM 它会在备份文件中的每个页面上放置校验和,这有助于在执行恢复时检测备份文件中的损坏页面。
  • 最好是在服务器上进行本地备份(前提是您有足够的磁盘空间),然后将备份文件传输到远程备份位置——或者——如果您直接备份到网络共享,那么最好是使用多个 NIC和/或仅在网络中使用不同的逻辑子网。

以下摘自白皮书 - 技术案例研究:通过网络快速可靠地备份和恢复多 TB 数据库

在此输入图像描述

顺便说一句,测试您的恢复策略更为重要,因为只有可以毫无问题地恢复备份才是好的。启用即时文件初始化将大大缩短恢复时间。

对备份进行条带化时要小心,因为条带可能会因机器或人为错误而损坏或丢失(删除):-)

参考 :