压缩和存储SQL Server备份的最有效方法是什么?[关闭]


9

我一直在进行各种用于压缩和存储SQL Server备份的方法的测试(使用SQL Server 2008 R2 Enterprise版),我想知道在SQL以外的长期存储这些备份的最有效的压缩算法是什么。内部压缩算法。

我不担心物理存储或磁带驱动器或其他任何东西,只想将我们的3TB数据和日志文件转换为我能最小的单个文件。

因此,例如,.zip还是.7z?还是我的数据库中有太多变量无法准确估计什么是最有效的变量,而我只需要做一些测试?还是我将获得最好的SQL Server内部压缩?


物理存储是此驱动因素,因为我们的硬盘空间不足。但是,我想避免讨论有关我正在使用的RAID类型或答案是“只是获得更多的数据”,因为这些是我已经在做的事情,但这是长期的解决方案。
肖恩·朗

这看起来像是你可以测试,因为这将在很大程度上依赖于大自然数据。使用压缩备份数据库,然后尝试使用其他压缩工具进一步压缩备份文件。就我个人而言,我无法想象您会留出足够的额外空间以使其值得使过程复杂化,并且不要忘记更多的压缩=更多的CPU,有时=更多的时间。因此,如果要花费额外的时间来节省额外的100 MB磁盘空间,那么在您努力恢复时是否值得这样做?
亚伦·伯特兰

Answers:


13

我一直在进行各种用于压缩和存储MS SQL备份的方法的测试(使用MS SQL 2008 R2 Enterprise版),我想知道在SQL以外的长期存储这些备份最有效的压缩算法是什么内部压缩算法。

由于您使用的是SQL 2008 R2 Enterprise版,因此您可以/必须利用

  • 数据压缩-行和页压缩。在数据级别
  • 备份时进行备份压缩,以最大程度地减少备份的磁盘空间。

    USE master;
    GO
    EXEC sp_configure 'backup compression default', '1';
    RECONFIGURE WITH OVERRIDE;
    

备份压缩使用CPU周期在数据离开服务器之前对其进行压缩,这就是为什么在大多数情况下,压缩备份比未压缩备份要快的原因。

请注意,在使用开放源代码工具时,需要先解压缩数据库备份文件,然后才能自行启动还原过程。

例如:当您收到50 Gb的SQL数据库备份,压缩为5 GB。要还原该数据库,您需要更多的磁盘空间:

  • 压缩文件5 Gb
  • 50 Gb用于备份文件
  • 50 Gb用于还原的数据库。(假设它们在数据库中没有空白空间)

总共需要105 Gb磁盘空间。

备份压缩后,您仍可以使用gzip7Zipbzip2QuickLZ等开源压缩工具,以从中受益。

另外,请查看codeplex 上的MSSQL压缩备份

比较统计的良好参考


3
如果通过SQL压缩来压缩备份,则尝试对备份文件zip / 7zip / rar进行压缩时,将无法获得太多压缩。
user1207758

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.