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 LongchampsVá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:
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.
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.
- Representando dados em XML no SQL ServerSQL Server
- Diferenças entre SEQUENCES x IDENTITY no Microsoft SQL Server 2012SQL
- Utilizando FILETABLE no SQL Server 2012SQL Server
- NHibernate com o Delphi Prism: Acessando um Banco de Dados SQL ServerVisual Studio
- Novidades no SQL Server Codinome DenaliSQL Server