Banco de Dados - SQL Server

Gerando backup no SqlServer via código - (SqlCommand e DMO)

Este artigo mostra, de duas maneiras diferentes, como gerar backup no Sql Server 2005 via código. Uma utilizando Sqlcommand e outra utilizando DMO.

por Thiago do Nascimento Longchamps



Várias vezes quando vamos implantar um sistema nos deparamos com uma imprevista realidade: Nosso cliente não possui uma estrutura de informática capaz de gerar as rotinas de backup necessárias para que haja o mínimo de segurança caso haja alguma falha.

Se isso nos é um grande problema, por que não permitir que um usuário mais capacitado realize a rotina backup de uma maneira mais simples?

Pensando nisso, resolvi descrever rapidamente duas maneiras de resolver este inconveniente. A primeira utiliza o SQLCOMMAND para enviar uma ordem ao SQL SERVER para efetuar o backup, e a segunda, utiliza os objetos DMO para gerá-lo.

Criando o projeto de Backup

O primeiro passo é criar um projeto Windows forms, e inclua no form1 os seguintes controles:

LblDb Label do textbox do nome do banco de dados.
TxtDb Textbox que irá receber o nome do banco de dados a ser realizado o backup.
LblArquivo Label do textbox do arquivo a ser gerado no backup.
TxtArquivo Textbox que irá receber o caminho completo onde será gerado o backup. Vale lembrar que esse caminho será sempre do servidor. Ex: C:\MASTER.BAK, irá gravar um arquivo chamado MASTER.BAK no C:\ do servidor.
BtnCommand Botão que irá disparar o backup via SqlCommand.
BtnDMO Botão que irá disparar o backup via DMO.


O form deve ficar parecido com este:



Executando o backup por SqlCommand

O comando utilizado para gerar o backup no SQL Server é o "BACKUP DATABASE".
(para saber mais consulte http://msdn.microsoft.com/en-us/library/ms186865.aspx)

No clique do botão BtnCommand, inclua o código abaixo:



Executando o backup por DMO

SQL-DMO é um conjunto de componentes COM que nos permite gerenciar o servidor SQL Server via programação.

Para podermos fazer uso desse poderoso recurso, primeiro precisamos baixar esse pacote de componentes. Para isso, acesse esse link e procure pela opção Microsoft SQL Server 2005 Backward Compatibility Components. Lembrando que estamos utilizando como padrão para teste o SQL Server 2005.

Após a instalação, adicione a referência do SQL-DMO no seu projeto.




Feito isso, basta incluir o código a seguir no clique do botão BtnDMO.



Testando a aplicação

Se não erramos em nenhum passo, basta executar o projeto, digitar na TxtDb o nome do banco de dados que será gerado o backup, na TxtArquivo, informe o caminho completo onde o backup será armazenado e aperta em um dos botões. E pronto, backup criado!!!

Conclusão

Com algumas poucas linhas de código, conseguimos dar ao usuário a possibilidade de gerar backups sem precisar conhecer nada de SQL e nem mesmo estar no servidor para executar os comandos.
Thiago do Nascimento Longchamps

Thiago do Nascimento Longchamps - Atuando a oito anos na área de desenvolvimento de sistemas e banco de dados, foi gerente de sistemas de uma grande empresa de telemarketing e há dois anos, montou a Phibra Informática, empresa especializada em consultoria e desenvolvimento de software.