script sql amostra de arquivo de backup do banco de dados zip e transferência
-
02-07-2019 - |
Pergunta
Eu estava procurando por um script sql amostra para fechar meu arquivo de banco de dados de backup (.bak) e transferir para um local remoto. Por favor, compartilhe se você tê-lo com você.
Solução
Você pode usar xp_cmdshell para invocar o comandos para fechar e copiando. Na amostra aqui, eu estou usando linha de comando WinZip (para fechar / descompactação) e xcopy para transferência de arquivos.
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'
Outras dicas
xp_cmdshell é um caminho, embora não seja ideal, uma vez que lhe faz o servidor menos seguro.
Meu projeto open source, SQL Server compactados backup , faz o que você está procurando em um etapa:
msbp.exe backup "db(database=model)" "zip64" "local(path=\\server\share\path\model.full.bak.zip)"
A instalação de backup SQL Server comprimido é apenas implantação "xcopy." - não há nada para instalar / desinstalar, ideal se você só precisa fazer isso uma vez
Ele usa zip64 já que o formato zip padrão tem um limite de 4 GB. compressão alternativa formatos disponíveis são gzip e bzip2 que não têm limites.
Por que não usar essas ferramentas simples, como SqlBackupAndFtp ? Eles fazem exatamente o que você precisa (sql de backup + mover para o local remoto) com uma interface simples e você não precisa escrever qualquer script.