【问题标题】:Sample sql script to zip and transfer database backup file用于压缩和传输数据库备份文件的示例 sql 脚本
【发布时间】:2008-09-24 16:20:14
【问题描述】:

我正在寻找一个示例 sql 脚本来压缩我的数据库备份文件 (.bak) 并传输到远程位置。如果你随身携带,请分享。

【问题讨论】:

    标签: sql database copy zip maintenance


    【解决方案1】:

    您可以使用xp_cmdshell 调用压缩和复制命令。 在此处的示例中,我使用 winzip 命令行(用于压缩/解压缩)和 xcopy 用于传输文件。

    EXEC master..xp_cmdshell 'C:\"Program Files"\WinZip\wzzip C:\Database.bak.zip C:\Database.bak';
    EXEC master..xp_cmdshell 'C:\"Program Files"\WinZip\wzunzip -o "C:\Database.bak.zip" "C:\Database"';
    EXEC master..xp_cmdshell 'xcopy "C:\Database.bak.zip" "\\networkshare\Backups" /Y'
    

    【讨论】:

      【解决方案2】:

      xp_cmdshell 是一种方法,尽管它并不理想,因为启用它会降低服务器的安全性。

      我的开源项目SQL Server Compressed Backup,一步就能满足您的需求:

      msbp.exe backup "db(database=model)" "zip64" "local(path=\\server\share\path\model.full.bak.zip)"
      

      SQL Server Compressed Backup 的安装只是“xcopy”部署——无需安装/卸载任何东西,如果您只需要这样做一次,这是理想的选择。

      它使用 zip64,因为标准 zip 格式有 4 GB 的限制。可用的替代压缩格式是 gzip 和 bzip2,它们没有限制。

      【讨论】:

        【解决方案3】:

        为什么不使用像SqlBackupAndFtp 这样的简单工具呢?它们通过简单的界面完全满足您的需求(sql 备份 + 移动到远程位置),您无需编写任何脚本。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-29
          • 1970-01-01
          • 2016-04-09
          • 1970-01-01
          • 2013-11-09
          相关资源
          最近更新 更多