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ê.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top