Ejemplo de script sql para comprimir y transferir el file de copy de security de la database

Estaba buscando un script sql de muestra para comprimir mi file de copy de security de la database (.bak) y transferirlo a una location remota. Por favor, comparta si lo tiene con usted.

Puede usar xp_cmdshell para invocar los commands para comprimir y copyr. En el ejemplo aquí, estoy usando la command-line winzip (para comprimir / descomprimir) y xcopy para transferir files.

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' 

xp_cmdshell es de una forma, aunque no es ideal, ya que al habilitarlo hace que el server sea less seguro.

Mi proyecto de código abierto, SQL Server Compressed Backup , hace lo que está buscando en un solo paso:

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

La installation de SQL Server Compressed Backup es solo una implementación "xcopy": no hay nada que instalar / desinstalar, ideal si solo necesita hacer esto una vez.

Utiliza zip64 ya que el formatting zip estándar tiene un límite de 4 GB. Los formattings alternativos de compression disponibles son gzip y bzip2 que no tienen límites.

¿Por qué no usar herramientas tan simples como SqlBackupAndFtp ? Hacen exactamente lo que necesitan (copy de security SQL + mudanza a location remota) con una interfaz simple y no necesitan escribir ningún script.