样本SQL脚本来压缩和传输数据库备份文件(Sample sql script to zip and

2019-09-23 20:47发布

我一直在寻找一个样本SQL脚本压缩我的数据库备份文件(.BAK),并传输到远程位置。 如果你拥有它,请分享。

Answer 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'


Answer 2:

xp_cmdshell的是一种方式,虽然它不是因为它能够使服务器的安全性较低的理想选择。

我的开源项目, SQL Server的压缩备份 ,做你想要一步到位:

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

SQL Server的压缩备份的安装只是“XCOPY”的部署 - 没有什么安装/卸载,理想的,如果你只需要操作一次。

它使用ZIP64因为标准zip格式有一个4 GB的限制。 可替代压缩格式的gzip和bzip2它们没有什么限制。



Answer 3:

为什么不使用这种简单的工具,如SqlBackupAndFtp ? 他们这样做,你需要的东西(SQL备份+移动到远程位置)用一个简单的界面,你不需要编写任何脚本。



文章来源: Sample sql script to zip and transfer database backup file