Como executo automaticamente backups noturnos para o Microsoft SQL Server 2005?

7

Eu não vejo nenhum mecanismo embutido para agendar backups noturnos no SQL Server 2005. Quais ferramentas estão disponíveis para executar esta tarefa e quão confiáveis elas são?

    
por cowgod 01.05.2009 / 21:16

7 respostas

20

O SQL Server Agent fará isso por você.

Existe até um assistente fácil de usar disponível para criar as tarefas de backup necessárias (SQL Server 2005 Books Online: Como: criar um plano de manutenção ). Em termos de confiabilidade - eu esperaria que isso fosse sólido como uma rocha.

Ele pode executar trabalhos em várias etapas em agendas complexas e notificá-lo por correspondência ou outros meios ou iniciar processos, dependendo do sucesso ou da falha de qualquer trabalho.

MSDN:

By default, the SQL Server Agent service is disabled when SQL Server 2005 or later is installed unless the user explicitly chooses to autostart the service.

    
por 01.05.2009 / 21:19
1

Eu fiz isso usando um plano de manutenção. Eu realmente escrevi um script para fazer backup de todos os bancos de dados do usuário. Eu compartilhei esse script aqui link

Existem soluções melhores do que as que eu fiz no meu script. Basta verificar os comentários no meu post.

Espero que isso ajude; -)

    
por 01.05.2009 / 22:23
1

Há algumas partes para isso.

Primeiro, os Planos de Manutenção criarão um conjunto de ações que podem fazer backup do banco de dados, desfragmentar seu índice, executar verificações de DBCC e muito mais. O problema é que os planos de manutenção sofrem com a falta de flexibilidade e têm algumas restrições. Eu falo sobre isso no meu vídeo tutorial sobre planos de manutenção:

link

Em vez disso, você pode optar por escrever seus próprios scripts T-SQL para fazer backups de banco de dados. Isso lhe dará mais flexibilidade e poder. Também temos links para alguns bons scripts de backup desse link de vídeo.

Em segundo lugar, independentemente do método escolhido (planos de manutenção ou scripts T-SQL personalizados), os trabalhos serão executados em sua programação pelo SQL Server Agent. O agente é um agendador de tarefas embutido no SQL Server.

    
por 01.05.2009 / 22:35
0

Qual edição do SQL 2005 você tem? Se você tiver a edição Express (a edição gratuita), ela não vem com o agente SQL.

Se você tiver o Express, terá que ser um pouco mais criativo. Uma opção é usar o agendador do Windows para chamar sqlcmd com um script de backup.

    
por 05.05.2009 / 10:53
0

Se você não tiver o agente, use o Agendador para chamar um script como este:

BACKUP DATABASE MyDatabase TO DISK='C:\MyDatabase.bak'; 

Ou similar…

Lembre-se de que C: \ não pode ser uma unidade de rede, ela deve ser uma unidade conectada localmente. (Não, as unidades mapeadas também não funcionam).

    
por 05.05.2009 / 13:15
0

Eu uso os planos de manutenção, eles eram fáceis de configurar e até agora não falharam. Eu tenho que fazer backup de meus bancos de dados para uma SAN, você deve fornecer o nome UNC para o caminho do diretório, por exemplo, \\ archive \ SQL \ database \ fullbackup.bak.

Conforme eu cresço mais com o SQL Server, provavelmente irei migrar para os scripts, já que a visualização do vídeo do Brent mostrou que é melhor a longo prazo.

    
por 05.05.2009 / 16:51
0

Backup de rede é possível com o SQL Server Agent ...

Você só precisa alterar uma conta usada para iniciar o serviço do SQL Server Agent para conta com acesso ao compartilhamento de rede (e operações de serviço do sistema com certeza) - por exemplo, qualquer conta de administrador de domínio ...

Mas o backup em disco local e o xp_commandshell são realmente muito mais confiáveis. Você pode rotear a verificação / distribuição de resultados para vários servidores e assim por diante ...

    
por 01.06.2009 / 10:53