Se você fizer isso como um trabalho do SQL Server Agent (do SSMS), será muito mais fácil chamar arquivos em lote. Apenas adicione uma etapa do tipo " Operating System (CmdExec)
" e aponte para o arquivo .bat.
Eu quero criar um trabalho de backup no servidor sql. E eu quero executar o arquivo em lotes no trabalho. Eu só me pergunto a parte da execução do arquivo de lote do trabalho sql. Você tem alguma ideia?
Qualquer ajuda seria apreciada.
use MyDb
go
BACKUP DATABASE MyDb TO DISK = 'C:\BackUps\MyDb.bak' WITH differential
go
-- Call my batch file (which will zip MyDb.bak file)
Se você fizer isso como um trabalho do SQL Server Agent (do SSMS), será muito mais fácil chamar arquivos em lote. Apenas adicione uma etapa do tipo " Operating System (CmdExec)
" e aponte para o arquivo .bat.
Se você estiver usando, além da empresa do SQL Server 2008 (ou acima), então xp_cmdshell é a maneira de fazer isso, embora você tenha que ativá-lo primeiro com sp_configure.
Se você tiver a sorte de estar na empresa mssql 2008, o recurso de compactação de backup será o que você deveria estar usando.
Você pode querer fazer algo um pouco mais avançado e depois chamar um arquivo static.bat. Aqui estão algumas amostras úteis: Exemplo de script sql para compactar e transferir o arquivo de backup do banco de dados Como fazer backup do banco de dados SQL no formato .zip
Tags batch sql-server