Questão Como agendar um backup recorrente do banco de dados do SQL Server 2012 usando o sqlcmd?


Eu estou procurando uma maneira de criar um backup recorrente mensal de um banco de dados do SQL Server usando sqlcmd.

Eu vi scripts para o SQL Express, mas eles só executam uma vez. Eu estou procurando um script sql que irá usar o agente ou outro meio para iniciar o backup periodicamente.

obrigado


1


origem


Obrigado pela resposta e pelas perguntas. Eu estou tentando ficar longe do agendador de tarefas devido a ser um sistema bloqueado / seguro. Eu estou procurando um script tsql para implementar msdb.dbo.sp_add_job, msdb.dbo.sp_add_jobstep e msdb.dbo.sp_add_jobschedule. Pelo menos é o que eu acho que preciso fazer, desde que postei a pergunta. - garym
Ah sim, 2012 e 2008r2 no servidor seguro 2008R2. Nenhuma versão expressa permitida. Eu sou o administrador da dba / máquina. sa acesso, mas sem privilégios de administrador de domínio. O agendador de tarefas pertence aos caras do domínio. Estou escrevendo algo (um instalador) agora. Eu vou ver como vai. Vou postar assim que eu começar a trabalhar. Eu também preciso passar a maioria das variáveis ​​através da linha de comando - garym
Pode fazer sentido apenas criar dispositivos de backup via TSQL com SSMS e, em seguida, criar um trabalho do SQL Agent com cada etapa com lógica para fazer backup desses DBs para os dispositivos de backup um a um, todos com nomes estáticos, como DBName1.bak Assim, cada vez que é executado, o arquivo existente é sobrescrito e, em seguida, basta deixar o SQL Agent cuidar do agendamento. O trabalho do SQL Agent seria mais poderoso do que o SQLCMD e, se você realmente precisasse de algo que utilizasse vários parâmetros, poderia criá-lo para um SP dinâmico e, em seguida, passar os argumentos de lá. - Pimp Juice IT
Eu faço isso o tempo todo como o DBA de várias instâncias do SQL Server e é um método muito confiável e você também pode configurá-lo para que cada etapa passe para a próxima etapa independentemente de falha ou sucesso, e a última etapa poderia então verifique o status de todas as etapas anteriores e, se houver alguma falha, etc., você poderá enviar um e-mail para indicar que há um problema e verificar os registros, etc. - Pimp Juice IT
Por último pensamento também, por isso, mesmo que você não seja um administrador de servidor, tecnicamente você é se você for uma instância do SQL Server. Ativando e usando o cmdexec, você pode usar a maioria dos comandos do nível do sistema operacional do servidor com permissões de administrador local. Eu também queria compartilhar isso com você ola.hallengren.com/sql-server-backup.html como eu não ouvi nada, mas bom sobre esta ferramenta, mas eu não usei isso. Se você estiver interessado nos dispositivos de backup do SQL e no trabalho do SQL Agent para fazer o backup por meio deles, posso escrever algo mais tarde amanhã. Confira dba.stackexchange.com também. - Pimp Juice IT


Respostas:


alguns passos como você perguntou sobre o sqlcmd:

  • executar o SQL Server Profiler
  • executar o backup do Management Studio
  • veja os comandos sql no profiler
  • eventualmente, fazer alguns ajustes no código sql (por exemplo, anexando a data atual ao nome do arquivo)
  • salve o código sql em um arquivo makedump.sql
  • crie uma tarefa agendada com um arquivo makedump.bat que execute "sqlcmd ... -i makedump.sql"

Ou use o caminho mais fácil:

  • Inicie o Management Studio
  • procure sua instância sql no explorador de objetos
  • expanda o nó do servidor e o "plano de manutenção"
  • clique com o botão direito do mouse para o assistente e siga as instruções

0