Backup no banco de dados

Nessa segunda postagem venho aqui mostrar um pouco sobre o banco de dados SQL SERVER 2005, e para esse primeiro assunto nada mais justo do que se falar de algo tão importante como um backup, onde podemos através dessa forma garantir que por algum problema não percamos dados. Abaixo vou mostrar os tipos de backups existentes para o SQL SERVER 2005.

Backup Full: Têm como propósito realizar o backup todos os dados armazenados em um banco. Este tipo de backup leva todas as características e atributos do objeto do banco de dados.Quais são os passos que o database engine realiza para garantir o sucesso do backup.

1) O database engine trava o banco de dados.

2) O acesso ao mesmo é proibido.

3) É estabelecida uma marca no log de transação onde indica que ali foi o ponto de inicio do backup.

4) Libera o banco de dados do lock.

5) É realizado backup de todas as paginas de dados.

6) Trava o banco novamente não deixando nenhuma conexão ser feita.

7) Estabelece uma marca no log de transação.

8) Libera o banco do lock, e extrai e libera todas as transações existentes entre as duas marcas e adiciona o intervalo ao backup.

Backup Diferencial: Captura todas as modificações que tenham ocorrido desde o ultimo backup full, o maior propósito de um backup diferencial é reduzir o numero de transactions log’s backups que precisam ser restaurados em um processo de restore. O backup diferencial não é um backup incremental. Pois um backup incremental captura qualquer modificação que tenha ocorrido desde o ultimo backup incremental. Logo para realizar um restore de um backup incremental precisa apenas de todos os backups incrementais. Um restore desse tipo de backup é feito da seguinte maneira: recupera-se o backup full, e por seguida todos os backups diferenciais até a data que se deseja.

Backup de Log de Transação: Pode ser realizado somente em bancos que foram setados o modo de recovery para FULL ou BULK e que não tenham sofrido um mínimo de log’s transactions, só pode ser executado depois de um backup full. Esse backup grava só o que é obtido a partir do LSN. LSN (Log Sequence Number ), esse log é setado na execução do backup anterior, é uma marca que tem no arquivo de log onde me diz até a onde o backup anterior foi gravado. Significa que a partir dessa marca eu não tenho nenhum backup realizado. O restore desse método serve para que você possa restaurar o banco de dados a partir de um determinado ponto ou a partir de uma determinada hora. O restore de log pode ser aplicado dentro de um backup full ou ainda de um backup diferencial.

Backup de Filegroup: Esse backup é uma alternativa na estratégia de backup, ao invés de executar um backup de toda a base, você pode executar o backup de um único Filegroup, como podemos realizar o backup de partes do banco de dados, o recovery model precisa estar setado para FULL RECOVERY ou BULK RECOVERY.

Backup Espelho (mirrored): Consiste em duplicar o backup, ou seja, criar cópias adicionais do backup realizadas no local diferente que você esta realizando no primeiro backup. Como ter apenas um backup pode ser considerado um ponto de falha, o SQL SERVER 2005 inseriu a clausula no backup chamado de “MIRROR TO” lembrando que esse tipo de backup não esta disponível para o SQL SERVER Express, podemos também criar até quatro espelhos do backup. O único ponto a ser levado em consideração é que o lugar onde você precisa fazer o backup (fita, disco) precisa ser o mesmo dos espelhos.

Backup parcial: Esse tipo de backup é uma nova funcionalidade que foi inserida no SQL SERVER 2005, nas versões anteriores se tivéssemos filegroups que fossem read-only o backup continha esse arquivo dentro também. Já no SQL SERVER 2005 com a inserção da clausula “READY_WRITE_FILEGROUP” esse filegroup passa não ser mais backupeado, e assim nós diminuímos o tempo de backup e a quantidade de fitas usadas, fazendo assim que o backup engine se preocupe apenas com o que foi modificado. Para esse processo, o restore também é uma nova funcionalidade do SQL SERVER 2005, que permite que quando executamos um restore, o restante do database fique disponível, esse processo tira proveito dos filegroups exceto filegroup primário que possui um status independente do database. Outro processo de restore que não é muito comum é o de restaurar paginas corrompida. Em versões anteriores do SQL SERVER o corrompimento de uma pagina causava um erro no servidor e poderia deixar a base inteira como OFFLINE. No SQL SERVER 2005 criou-se um processo alternativo para a execução que é o PAGE_VERIFY_CHECKSUM, depois de habilitar a verificação no banco de dados através desse comando, qualquer pagina que se corrompa é colocada em quarentena, porem essa opção vem desabilitada por default, pois gera um overhead no servidor apesar de pequeno. Cada vez em que uma pagina precisa ser lida ou escrita no SQL SERVER 2005 o próprio SQL calcula um CHECKSUM para a pagina, se o CHECKSUM calculado não for igual ao anterior a pagina de dados esta corrompida e transação nesse caso sofre um rollback. O SQL SERVER 2005 tem uma opção de restore que mesmo que a fita do backup apresente erros em suas trilhas o restore é continuado, fazemos isso através do comando “WITH CONTINUE_AFTER_ERROR”, porem o SQL SERVER não garante que esses arquivos poderão ser usados futuramente. Outra opção que podemos utilizar para verificar se os nossos backups estão corretos, para isso o SQL SERVER prove o comando “RESTORE VERIFYONLY FROM caminho do arquivo”.

Aqui termina minha primeira postagem, espero que o conteúdo da mesma possa ser utilizado por você no seu dia a dia.

Sobre Marcos Freccia

MVP em SQL Server (Data Plataform) , especialista em SQL Server, e atualmente trabalhando com Microsoft Azure!

Publicado em março 14, 2010, em Administração e marcado como , , . Adicione o link aos favoritos. Deixe um comentário.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: