【发布时间】:2008-11-17 11:57:55
【问题描述】:
压缩维护计划生成的备份的最佳免费方法是什么?
我知道有非免费工具可以压缩备份,但我对它们不感兴趣。
选项:
- 备份后有一个 T-SQL 任务,它将通过 xp_cmdshell 运行一个脚本,该脚本会压缩每个未压缩的备份。
- ???
欢迎任何其他想法,我想避免编写脚本/程序。
【问题讨论】:
标签: sql-server sql-server-2005 compression backup
压缩维护计划生成的备份的最佳免费方法是什么?
我知道有非免费工具可以压缩备份,但我对它们不感兴趣。
选项:
欢迎任何其他想法,我想避免编写脚本/程序。
【问题讨论】:
标签: sql-server sql-server-2005 compression backup
我是一个开源项目 (GPL v3) 的作者,这可能是您正在寻找的东西(虽然它不是基于维护计划的)。它是一个命令行工具(用于在 Windows 的计划任务中进行计划)并备份到 gzip、zip(由于常规 zip 文件的 4GB 限制,特别是 zip64)或 bzip2 文件。您可以使用该工具直接从压缩文件中恢复,也可以将压缩文件(标准 *.bak 文件)解压缩并使用 SQL Server 进行恢复。
它称为 SQL Server 压缩备份,可在此处找到:http://sourceforge.net/projects/mssqlcompressed/
一个示例命令是:
msbp.exe backup "db(database=model)" "zip64" "local(path=c:\model.full.bak.zip)"
【讨论】:
您需要三个组件。 调度程序应该启动备份、压缩,也许还有其他步骤,比如将最终结果复制到文件服务器。您可以为每项任务选择您的工具,但我可以推荐我们基于 Cobian Backup 的设置,该设置已经运行了几年。
调度程序:Cobian 备份
备份:ExpressMaint(用于 MSSQL Express)
压缩:Cobian 备份
基本上,您使用 Cobian 设置备份计划,将 ExpressMaint 或其他 MSSQL 备份工具作为 Cobian “事件前”运行。然后 Cobian 压缩结果并将其保存到目的地。
如果您打算在网络中移动它们和/或集中存储它们,则需要压缩 SQL Server 备份文件。
【讨论】:
C:\Program Files\Support Tools>压缩/?
是一个用于压缩文件的命令行工具。
我不知道如何只压缩未压缩的文件,但您可能已经知道 T-SQL 任务中的文件名?
如果这样做,您可以将文件名作为参数传递给您的 xp_cmdshell 调用。
【讨论】:
我会在备份之后安排一项任务,按照您的建议进行。另外,我相信 SQL2008(至少有一些版本)会进行压缩备份。
但是,如果您出于磁盘空间原因需要压缩备份,我建议您考虑更多存储空间。当然,除非您试图减小磁带传输的大小。
【讨论】: