Ejemplo de script sql para comprimir y transferir el archivo de copia de seguridad de la base de datos

StackOverflow https://stackoverflow.com/questions/128166

Pregunta

Estaba buscando un script de SQL de muestra para comprimir mi archivo de copia de seguridad de la base de datos (.bak) y transferirlo a una ubicación remota. Por favor, comparta si lo tiene con usted.

¿Fue útil?

Solución

Puede usar xp_cmdshell para invocar el Comandos para comprimir y copiar. En el ejemplo aquí, estoy usando la línea de comando winzip (para comprimir / descomprimir) y xcopy para transferir archivos.

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'

Otros consejos

xp_cmdshell es una forma, aunque no es lo ideal, ya que habilitarlo hace que el servidor sea menos seguro.

Mi proyecto de código abierto, Copia de seguridad comprimida de SQL Server , hace lo que está buscando en uno paso:

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

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

Utiliza zip64 ya que el formato zip estándar tiene un límite de 4 GB. Los formatos de compresión alternativos disponibles son gzip y bzip2 que no tienen límites.

¿Por qué no usar herramientas tan simples como SqlBackupAndFtp ? Hacen exactamente lo que necesita (copia de seguridad de SQL + mudanza a una ubicación remota) con una interfaz simple y no necesita escribir ningún script.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top