Backup e Restore no SQL Server 2012

Veja neste artigo como efetuar o backup e o restore de bancos de dados no SQL Server 2012. Tarefa normalmente associada a situações críticas nas quais se faz necessária a recuperação de um conjunto de informações.

A utilização de bancos de dados relacionais revolucionou, sem sombra de dúvidas, a maneira como as organizações modernas controlam suas informações. Graças a estruturas deste tipo, foi possível viabilizar a manipulação de um grande volume de informações de uma maneira extremamente eficiente e ágil.

Considerando todo este cenário, pode-se concluir que o advento deste tipo de tecnologia transformou radicalmente a forma de atuação em processos de negócio cotidianos, conferindo assim uma maior velocidade a tarefas que antes costumavam ser morosas. Além disso, o armazenamento de informações em bases relacionais abriu caminho para um melhor gerenciamento das organizações como um todo, fornecendo uma série de análises até outrora improváveis aos responsáveis pelas tomadas de decisões estratégicas.

A execução de comandos gerando e/ou consumindo dados armazenados num banco relacional acontece, basicamente, por intermédio de aplicações que centralizam o processamento das operações correspondentes: tais soluções são conhecidas popularmente como SGBDs (sigla de “Sistemas Gerenciadores de Banco de Dados”).

Exemplos notórios de softwares deste tipo são o Microsoft SQL Server, o Oracle, o IBM DB2, todos estes produtos frequentemente associados a projetos de grande porte. SGBDs gratuitos como o Firebird, o PostgreSQL e o MySQL também contam com uma boa aceitação por parte do mercado de tecnologia.

Quando se considera a construção de sistemas voltados às mais variadas finalidades de negócios, diversas são as características arquiteturais que contribuem para que os bancos relacionais sejam encarados a melhor alternativa:

Além de tudo o que já foi mencionado, muitos SGBDs contam nativamente com dispositivos que impedem danos a bancos de dados quando da ocorrência de falhas. Tais mecanismos costumam ser acionados em situações como quedas no fornecimento de energia elétrica, problemas de hardware e/ou software que levem a um estado de inoperância em um servidor etc.

Apesar de toda esta preocupação, isto não significa que uma base relacional estará “blindada” contra problemas mais sérios: poderão existir casos em que um ou mais arquivos que compõem um banco de dados ficaram corrompidos por algum fator qualquer. Se isto realmente acontecer, um Administrador de Banco de Dados (DBA) ou outro profissional responsável deverá proceder com a restauração de tal base. Fica mais do que óbvio, então, que esta atividade partirá do pressuposto de que um backup já foi realizado anteriormente.

Também poderão existir outras razões que exijam o backup e, consequentemente, a realização de um procedimento de “restore” de uma base de dados. Dentre tais motivos, é possível citar:

A finalidade deste artigo é demonstrar, em termos gerais, como se efetuar o backup e a restauração de bases de dados no SQL Server 2012. A fim de se cumprir tal objetivo, será efetuado primeiramente um backup completo de um banco de dados pré-existente. Na sequência, tal backup será restaurado; importante destacar que este último procedimento simulará um problema na base de dados, de forma a justificar assim a execução do processo de recuperação das informações.

Especificamente no caso do SQL Server, atividades que envolvam a realização de backup e/ou restore de uma base costumam ser executadas a partir do Microsoft SQL Server Management Studio. Este também será o caso do exemplo apresentado a seguir, em que se fará uso desta ferramenta visual a fim de demonstrar tais procedimentos.

Backup de um banco de dados no SQL Server

Inicialmente, será necessário acessar o SQL Server Management Studio, conectando-se a partir disto ao servidor de banco de dados em que está a base a partir da qual se fará o backup. Os procedimentos descritos neste artigo serão feitos empregando uma base chamada “BancoExemplo” (Figura 1), sendo que nesta ultima existem três tabelas: TB_REGIAO, TB_SUBREGIAO e TB_REPRESENTANTE_COMERCIAL.


Figura 1: Tabelas da base BancoExemplo

Com a janela do Management Studio ativa, clicar com o botão direito do mouse sobre o banco de dados que se prestará à geração da cópia de segurança (neste caso, o mesmo se chama “BancoExemplo”). Selecionar a opção “Tasks” e, em seguida, “Back Up...” (Figura 2).


Figura 2: Acionando a opção que faz o backup de uma base de dados

Neste momento, será exibida uma tela similar àquela que consta na Figura 3. É a partir da janela “Back Up Database” que um usuário conseguirá proceder com o backup de uma base (desde que o mesmo conte com as devidas permissões de acesso).


Figura 3: Janela Back Up Database

Chega agora o ponto em que serão definidas as configurações para que o arquivo de backup seja gerado. Como o foco deste artigo é justamente descrever o processo de criação de um backup completo no SQL Server, não serão discutidas aqui as opções que permitem a criação de outros tipos de cópias de segurança.

Preencher os itens da seção Source com os seguintes valores:

Já para os campos da seção "Backup set", informar os valores relacionados a seguir:

Por fim, será necessário definir o arquivo que corresponde à cópia de segurança da base de dados selecionada. Isto deverá ser feito na seção “Destination”:


Figura 4: Janela Select Backup Destination

Com o item “File name” marcado, clicar no botão com reticências (“...”), a fim de abrir com isto uma janela (Figura 5) em que será escolhido o diretório e o nome do arquivo de backup. Para efeitos de teste, foi informado que o arquivo que conterá a cópia dos dados terá por nome “BancoExemplo_2012-09-12.bak”, com o mesmo sendo gravado no diretório destino C:\Devmedia\.


Figura 5: Janela em que é definido o caminho e o nome do arquivo de backup

Uma vez especificados o caminho e o nome da cópia de segurança, será apresentada novamente a janela “Select Backup Destination” (Figura 6).


Figura 6: Janela Select Backup Destination com o caminho do backup já definido

Após se confirmar o caminho completo do arquivo de backup em “Select Backup Destination”, o usuário será direcionado novamente para a janela “Back Up Database” (Figura 7).


Figura 7: Janela Back Up Database com todas as configurações já preenchidas

Com todos os parâmetros para a geração da cópia de segurança devidamente preenchidos, deve-se clicar no botão “OK”, visando com isto concluir o processo de geração do backup. Tão logo esta tarefa tenha se encerrado, uma mensagem como a que consta na Figura 8 será apresentada em tela.


Figura 8: Backup gerado com sucesso

Conferindo então o caminho que havia sido indicado anteriormente, será possível constatar que o arquivo de backup foi gerado com sucesso (conforme demonstrado na Figura 9).


Figura 9: Descrição

Restore de um banco de dados no SQL Server

Em conformidade com o que já foi mencionado no início deste artigo, o exemplo descrito a seguir simulará um problema na base de dados “BancoExemplo”. Supondo que as tabelas da mesma foram removidas (Figura 10), faz-se necessário então proceder com a restauração do banco de dados, empregando para isto o backup gerado na seção anterior.


Figura 10: Base BancoExemplo sem nenhuma tabela

A primeira ação visando restaurar a base de dados consiste em se clicar com o botão direito do mouse sobre “BancoExemplo”, selecionando em seguida “Tasks”, “Restore” e, por fim, a opção “Database” (Figura 11).


Figura 11: Acionando a opção que faz o restore de uma base de dados

Será então exibida a janela “Restore Database” (Figura 12).


Figura 12: Janela Restore Database

Dentro da seção “Source” marcar a opção “Device”, clicando em seguida no botão com reticências (“...”), a fim de selecionar o arquivo de backup que será restaurado (Figura 13).


Figura 13: Janela Select backup devices

Em “Select backup devices” será preciso se certificar de que a opção “Backup media type” foi configurada com o valor “File”. Após isto, acionar o botão “Add”, a fim de incluir o arquivo de backup que será empregado na restauração da base de dados: a janela “Locate Backup File” aparecerá (Figura 14), devendo-se informar o caminho completo da cópia de segurança (“C:\Devmedia\BancoExemplo_2012-09-12.bak”).


Figura 14: Janela Locate Backup File

Selecionado o arquivo que servirá de base para que o processo de restore seja executado, será exibida novamente a janela “Select backup devices” (Figura 15), só que desta vez preenchida com o caminho completo do arquivo de extensão .bak.


Figura 15: Janela Select backup devices com o arquivo a ser restaurado já definido

Após se confirmar o arquivo que será restaurado, a janela “Restore Database” estará com os campos da seção “Destination” preenchidos: neste último caso, “Database” já aponta para a base “BancoExemplo” (Figura 16).


Figura 16: Janela Restore Database com o arquivo de backup já selecionado

Selecionar agora o item "Options", que está abaixo do elemento "Select a page" (na parte esquerda da tela "Restore Database"). Mais alguns ajustes serão necessários na tela que é apresenta na Figura 17.


Figura 17: Janela Restore Database com outras opções a serem configuradas para a restauração

Na seção "Restore options" marcar a opção "Overwrite the existing database (WITH REPLACE)". Com isto se está definindo que o banco de dados existente será substituído em sua totalidade por aquilo que constar na cópia de segurança.

Já na seção "Server connections" selecionar o item "Close existing connections to destination database". Esta opção irá forçar que prováveis usuários acessando a base "BancoExemplo" sejam desconectados automaticamente, sendo que isto é um pré-requisito para se iniciar a restauração do backup (do contrário, um erro aconteceria e este processo seria abortado).

Após esses últimos ajustes, a janela “Restore Database” ficará com uma aparência similar àquela da Figura 18. Clicando-se no botão “OK”, a restauração será então iniciada e, caso não ocorram problemas, uma mensagem como a que consta na Figura 19 será exibida para o usuário.


Figura 18: Janela Restore Database com outras opções de restauração já configuradas


Figura 19: Mensagem que indica que o processo de restore foi finalizado com sucesso

Verificando novamente a base de dados BancoExemplo, será possível constatar agora que as tabelas que existiam anteriormente na mesma (TB_REGIAO, TB_SUBREGIAO e TB_REPRESENTANTE_COMERCIAL) já foram devidamente recriadas (Figura 20).


Figura 20: Base BancoExemplo após o restore

Conclusão

Procurei com este artigo apresentar de maneira simplificada como é feito o backup e a restauração de bancos de dados no SQL Server. Tarefas deste tipo são geralmente executadas a partir do Management Studio, interface gráfica que é parte integrante do SQL Server e projetada para ser utilizada por profissionais dotados de um perfil mais técnico (como DBAs e Desenvolvedores de Sistemas). Espero que o conteúdo aqui apresentado possa auxiliá-lo no dia-a-dia. Até uma próxima oportunidade!

Artigos relacionados