以最大压缩级别执行压缩备份的 T-SQL 脚本

Hos*_*BAR 2 sql-server backup compression

我有一个完整备份近 2GB 的数据库。当我执行完整备份(不压缩),然后用 winrar 压缩它时,它变成 140MB,但是当我备份WITH COMPRESSION语法时,结果是 315MB,不幸的是,用 winrar 压缩后,大小没有改变。如何使用 T-SQL 进行最大级别的完全压缩?

小智 6

SQL Server 的内置备份压缩只有一级压缩(正如 Mark 和 Adrian 已经说过的)。通过压缩未压缩的备份获得较小的最终文件的最可能原因是它将包含大量纯文本。WinRAR 和其他传统压缩实用程序非常擅长压缩纯文本。

获取较小备份文件的另一种方法是使用第三方备份应用程序。市场上有很多这样的工具,包括 Red Gate 的SQL Backup Pro和 Idera 的SQL Safe Backup。这些包含更有效的压缩算法,可以在不进行后期处理的情况下为您提供更小的备份。我个人不使用其中任何一个,因此无法推荐特定的。

  • 请记住,如果您使用第 3 方压缩算法备份数据库,您也需要该工具来恢复数据库。因此,如果您在环境之间移动备份并且没有到处都有许可证,让您的许可证失效等,它就不会很好地工作。 (2认同)
  • 有一个工具可以提供与 zip 兼容的压缩备份 - [Hyperbac](http://www.red-gate.com/products/dba/sql-hyperbac/)。如果您在另一台服务器上没有该工具,您可以使用任何其他工具进行解压缩,然后您就可以使用完整备份。但是,不幸的是,红门同时杀死了它。 (2认同)