压缩维护计划生成的备份的最佳免费方法是什么?
我知道有非免费工具可以压缩备份,但我对它们不感兴趣。
选项:
- 在备份之后有一个 T-SQL 任务,它将通过 xp_cmdshell 运行一个脚本,该脚本会压缩每个未压缩的备份。
- ???
欢迎任何其他想法,我想避免编写脚本/程序。
压缩维护计划生成的备份的最佳免费方法是什么?
我知道有非免费工具可以压缩备份,但我对它们不感兴趣。
选项:
欢迎任何其他想法,我想避免编写脚本/程序。
我是一个开源项目(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)"
你需要三个组件。调度程序应该启动备份、压缩和其他步骤,例如将最终结果复制到文件服务器。您可以为每项任务选择您的工具,但我可以推荐我们基于Cobian Backup的设置,该设置已经运行了几年。
调度程序:Cobian Backup
备份:ExpressMaint(用于 MSSQL Express)
压缩:Cobian Backup
基本上,您使用 Cobian 设置备份计划,将 ExpressMaint 或其他 MSSQL 备份工具作为 Cobian “事件前”运行。Cobian 然后压缩结果并将其保存到目的地。
如果您打算在网络中移动它们和/或集中它们的存储,则需要压缩 SQL Server 备份文件。
C:\Program Files\Support Tools>压缩/?
是一个用于压缩文件的命令行工具。
我不知道如何只压缩未压缩的文件,但您可能已经知道 T-SQL 任务中的文件名?
如果这样做,您可以将文件名作为参数传递给您的 xp_cmdshell 调用。
我会按照您的建议在备份之后安排一项任务。另外,我相信 SQL2008(至少有一些版本)会进行压缩备份。
但是,如果您出于磁盘空间原因需要压缩备份,我建议您考虑更多存储空间。当然,除非您试图减小磁带传输的尺寸。