【问题标题】:Compressed backups in SQL Server 2005SQL Server 2005 中的压缩备份
【发布时间】:2008-11-17 11:57:55
【问题描述】:

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

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

选项:

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

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

【问题讨论】:

    标签: sql-server sql-server-2005 compression backup


    【解决方案1】:

    我是一个开源项目 (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)"
    

    【讨论】:

    • 虽然向您的应用添加“全部”选项而不是使用此包装器可能更有意义。
    【解决方案2】:

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

    • 调度程序:Cobian 备份

    • 备份:ExpressMaint(用于 MSSQL Express)

    • 压缩:Cobian 备份

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

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

    【讨论】:

      【解决方案3】:

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

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

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

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-04
          • 1970-01-01
          • 1970-01-01
          • 2013-01-25
          • 1970-01-01
          • 2023-02-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多