SQL Server 备份非常慢

SQL Server 备份非常慢

如何估算 30gb 数据库的完整备份时间?

目前大约需要 50 分钟。我们可以改进吗?

谢谢

答案1

补充一点并总结一下其他回应:

  • 使用压缩将加快备份速度(即先读取一些数据,然后写入一些数据 - 减少“写入一些数据”即可加快速度),但会消耗一些额外的 CPU。您可以将备份压缩与 2008 中的资源管理器结合起来以限制这种情况。使用压缩还可以加快恢复速度(先读取一些数据,然后再次写入一些数据) - 这对于减少灾难恢复情况下的停机时间非常有用。
  • 数据库文件和备份不使用同一个驱动器。除了争用问题(具体情况取决于 I/O 子系统)之外,这还是一场灾难。我见过的最严重的数据丢失案例是第三方技术人员意外格式化了包含数据库和唯一备份的驱动器
  • 使用条带备份集。如果可以将数据库备份到多个备份文件,则 I/O 将在备份文件之间循环。如果将备份文件放在单独的存储中,则可以实现大量的性能提升。
  • 调整一些更高级的参数,如 BLOCKSIZE、MAXTRANSFERSIZE、BUFFERCOUNT

我见过的最快的备份是我们在维也纳的客户 Bwin 做的。他们可以在 36 分钟内备份 2TB。请参阅我的博客文章高端备份压缩数字

看一下这个 SQLCAT PDF, 具体来说:

  • 第 4 节,第 71 页:调整 SQL Server 2008 中的备份压缩性能
  • 第 1 节,第 15 页:调整备份压缩第 2 部分

希望这可以帮助!

答案2

您最近清理过 MSDB 吗?Brent Ozar 的一篇好文章介绍了清理会对数据库和备份产生哪些影响

http://www.brentozar.com/archive/2009/05/brents-backup-bottleneck-msdb/

答案3

您运行的是哪个版本的 SQL Server?2008 可以进行压缩备份,从而显著提高备份速度。一旦我们在备份作业中启用压缩,我的一个客户备份时间就从一小时缩短到 10 分钟。

答案4

改进它的最佳方法是使用第三方备份实用程序 - 例如,Quest 的 LiteSpeed 或 Red Gate 的 SQLBackup。

话虽如此,您多久运行一次完整备份?您是否实施了差异和传输日志备份?

对于 30GB 来说,50 分钟似乎有点长,但如果您的磁盘阵列承受着压力,我可以看到它需要那么长时间。

相关内容