2

压缩维护计划生成的备份的最佳免费方法是什么?

我知道有非免费工具可以压缩备份,但我对它们不感兴趣。

选项:

  1. 在备份之后有一个 T-SQL 任务,它将通过 xp_cmdshell 运行一个脚本,该脚本会压缩每个未压缩的备份。
  2. ???

欢迎任何其他想法,我想避免编写脚本/程序。

4

4 回答 4

4

我是一个开源项目(GPL v3)的作者,这可能是您正在寻找的(虽然它不是基于维护计划的)。它是一个命令行工具(用于在 Windows 中的计划任务中进行计划)并备份到 gzip、zip(特别是 zip64,因为常规 zip 文件的 4GB 限制)或 bzip2 文件。您可以使用该工具直接从压缩文件中恢复,也可以解压缩压缩文件(标准 *.bak 文件)并使用 SQL Server 进行恢复。

It's called SQL Server Compressed Backup, found here: http://sourceforge.net/projects/mssqlcompressed/

A sample command would be:

msbp.exe backup "db(database=model)" "zip64" "local(path=c:\model.full.bak.zip)"
于 2009-11-23T17:04:33.800 回答
2

你需要三个组件。调度程序应该启动备份压缩和其他步骤,例如将最终结果复制到文件服务器。您可以为每项任务选择您的工具,但我可以推荐我们基于Cobian Backup的设置,该设置已经运行了几年。

  • 调度程序:Cobian Backup

  • 备份:ExpressMaint(用于 MSSQL Express)

  • 压缩:Cobian Backup

基本上,您使用 Cobian 设置备份计划,将 ExpressMaint 或其他 MSSQL 备份工具作为 Cobian “事件前”运行。Cobian 然后压缩结果并将其保存到目的地。

如果您打算在网络中移动它们和/或集中它们的存储,则需要压缩 SQL Server 备份文件。

于 2008-11-23T15:41:56.643 回答
1

C:\Program Files\Support Tools>压缩/?

是一个用于压缩文件的命令行工具。

我不知道如何只压缩未压缩的文件,但您可能已经知道 T-SQL 任务中的文件名?

如果这样做,您可以将文件名作为参数传递给您的 xp_cmdshell 调用。

于 2008-11-17T12:10:27.227 回答
0

我会按照您的建议在备份之后安排一项任务。另外,我相信 SQL2008(至少有一些版本)会进行压缩备份。

但是,如果您出于磁盘空间原因需要压缩备份,我建议您考虑更多存储空间。当然,除非您试图减小磁带传输的尺寸。

于 2008-11-17T12:05:05.333 回答