2008-11-17 148 views
2

什么是让您的维护计划生成的备份得到压缩的最佳免费方式?SQL Server 2005中的压缩备份

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

选项:

  1. 有将贯穿xp_cmdshell的是压缩每个非压缩备份的脚本备份后,T-SQL任务。
  2. ???

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

回答

4

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

这就是所谓的SQL服务器压缩备份,在这里找到:http://sourceforge.net/projects/mssqlcompressed/

的样本命令为:

msbp.exe backup "db(database=model)" "zip64" "local(path=c:\model.full.bak.zip)" 
+0

伟大的工具!谢谢! – 2009-11-24 09:55:32

0

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

但是,如果由于磁盘空间原因您需要压缩备份,我建议您查看更多存储空间。当然,除非你试图保持磁带传输的尺寸不变。

1

C:\ Program Files \ Support Tools> compress /?

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

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

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

2

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

  • 调度:Cobian备份

  • 备份:ExpressMaint(对于MSSQL快递)

  • 压缩:Cobian备份

基本上,你设置了Cobian备份调度,在事件发生前运行ExpressMaint或其他MSSQL备份工具作为Cobian。 Cobian然后将结果压缩并保存到目的地。

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