Vejo um grande problema em blogs e posts em geral (incluo-me neste grupo), que por achar que meus posts ficarão muito básicos, ninguém terá interesse ou até mesmo serei julgado por postar coisas banais, acaba-se por não escrever muito, ou querer sempre escrever artigos de alto nível de complexidade. Porém estive pensando que a vida profissional e de aprendizado é um ciclo, onde sempre existem pessoas começando, outros já em um nível profissional e aqueles fora do padrão, que sobressaem-se por esforço próprio, dedicação e estudo constante. Por este motivo, resolvi criar estes e os posteriores posts sobre este assunto de extrema importância e que à primeira vista, pode parecer simples e banal.
A definição de Backup segundo o site Wikipedia, “backup é a criação de cópias de dados que podem ser utilizadas para restaurar a um estado original em um evento de perda destes dados.”
O Backup é um dos principais pilares da Administração de Banco de dados, uma das principais responsabilidades de um DBA, uma vez que, caso não haja um planejamento de recuperação em caso de falhas, de nada adianta ter uma excelente performance, segurança de acesso, etc… visto que tudo isto simplesmente desaparecerá no evento de uma falha onde não haja um bom desenho e implementação de Backup.
Um Backup bem feito, é o que garante que seus dados estão preservados e podem ser restaurados posteriormente em caso de falha em seus subsistemas de Armazenamento, Sistema Operacional, Software dentre outros. Caso não haja uma política de Backup bem definida, implementada e regularmente testada, corre-se o risco de ver seus dados simplesmente desaparecerem frente a um evento catastrófico (Crash de disco, Servidor, Eventos da Natureza, etc), para isto é importante deixar bem definidos alguns pontos:
- Porque fazer: Conforme já mencionado previamente, é com base na política de Backup, e Recovery que fazer-se-á a restauração ao ponto original, com pequena ou nenhuma perda de dados, dependendo da política de backup adotada.
- Quando fazer: Para responder a esta pergunta, é de extrema importância a criação e implantação de uma política de backup eficiente e que atenda aos anseios e tolerâncias a perda de dados por parte do proprietário das informações.
- Como fazer: No caso de Banco de Dados, os SGDB’s (Sistema Gerenciador de Banco de Dados) possuem ferramentas internas para criação e automatização destas rotinas de Backup, porém existem infinitas ferramentas de terceiros totalmente independentes do fabricante que também permitem a realização e implantação da política de backup definida.
Existem diferentes tipos de backups, para diferentes tipos necessidades, no caso do backup de bancos de dados especificamente pelo SGDB SQL SERVER existem alguns tipos principais e mais utilizados, além de outros. Dentre os principais e mais utilizado podem ser citados:
- Backup Full: Gera cópia total e integral de todo o banco.
- Backup Diferencial: Gera cópia apenas da “diferença” entre as alterações atuais e as realizadas após o último Backup Full, sendo que este é cumulativo, ou seja, um backup diferencial feito após outro backup diferencial, contém todas alterações realizadas após o backup Full, inclusive as constantes no Diferencial anterior.
- Backup de T-Log: Ou Backup do Log de Transações, gera cópia apenas das alterações realizadas. Diferente do backup Diferencial, o backup de T-Log NÃO armazena todas informações dos backups de Log anteriores, mas somente as alterações feitas após este backup.
Além destes principais, existem outros tipos de Backup como: Backup de FileGroup (Grupo de Arquivos), Backup de Arquivo, Backups parciais entre outros, que citarei em posts futuros, com cunho mais técnico.
É impossível encontrar pronto um modelo de política de backup. A política de backup ideal é aquela que satisfaz e atende às necessidades de cada organização, com isto, é preciso organizar e desenhar esta política distribuindo os tipos (Full, Diferencial, Log) e horários dos backups de modo que haja coerência entre custo de armazenamento / implantação com a tolerância à perda de dados por parte da Organização…
Existem diversas formas de armazenar seus backups com segurança, e mais uma vez é necessário análise do custo / risco que pretende-se correr com isto, seguem exemplos:
- Backup On-Server: Costumo dizer que, “Se o backup está no mesmo servidor, então não existe backup”. Isto não é 100% verdade, pois o backup está ali e você tem acesso a ele, mas a garantia que este backup te dá é quase nula, uma vez que uma falha do servidor ou do disco, comprometerá tanto os dados originais quanto o(s) arquivo(s) de backup. Portanto, jamais faça este tipo de Backup. (Infelizmente já o encontrei em alguns cenários em ambientes de produção)
- Backup On-Site: O backup é gravado em uma mídia (Servidor, Fitas Magnéticas, HDs Externos) separada, porém ficam armazenados no mesmo ambiente físico (Na empresa). Este tipo de Backup é seguro, porém não suporta por exemplo catástrofes naturais como furacões ou incêndios.
- Backup Remoto: O mais seguro, porém mais caro, o Backup é gerado e fica fisicamente separado dos dados originais, em outro prédio, outra empresa, outra cidade, ou até mesmo em outro país. Quanto maior a distância entre o local onde o backup é armazenado e o servidor original, maior a segurança da possibilidade de restauração dos dados ao seu estado original.
Um exemplo que é muito citado (está sendo mais uma vez), foi o atentado terrorista às Torres Gêmeas do World Trade Center nos Estadus Unidos, muitas empresas simplesmente desapareceram, evaporaram, deixaram de existir em minutos, pois seus backups eram armazenados na torre ao lado, e nem o mais pessimista dos DBA’s poderia um dia imaginar que uma situação semelhante à ocorrida, pudesse acontecer algum dia, mas aconteceu…
Portando, 100% de segurança e garantia, é praticamente impossível, mas é necessário ser pessimista, pensar que o pior pode acontecer e estar SEMPRE precavido para as mais diversas situações…
Enfim, este não foi um post técnico, mas sim tentando demonstrar a importância e o porque deve-se preocupar cada vez um pouco mais com seus backups. Em publicações posteriores, tentarei demonstrar os tipos de backup do SQL SERVER e suas funcionalidades técnicas passo a passo, tentando alcançar todas elas…
Algo extremamente importante, que não foi mencionado, é que, nosso querido Murphy criou uma tal de uma lei, que diz que no que se refere a backup, ele vai estar em perfeito estado de funcionamento, até que você precise dele… Sendo assim, testes periódicos de restore e recovery com os backups nunca são demais…
Vou ficando por aqui…
Se você chegou até o final do artigo, por favor comente, com elogio, sugestão, crítica ou qualquer outra coisa que quiser escrever…. Pretendo falar mais sobre o assunto em breve…
Agradecimento especial aos amigos: Fernanda Sallai (Blog | Twitter) e William de Paula (Twitter), pelo apoio moral e insistência, para que este artigo fosse publicado… o/
Forte Abraço
Edvaldo Castro
Administrador de Banco de Dados
View Comments (23)
Prezado Edvaldo,
Foi muito útil o seu post, apenas para informação na empresa que trabalho, tenho um backup em disco externo dentro do TI, outro na residência de uma gerente que ela traz para atualizar quinzenalmente e outro comigo que atualizo semestralmente. Agora estou avaliando o backup em nuvem.
Muito bom o post!
Eu gosto bastante desse tipo de postagem não-técnica principalmente de um assunto tão importante. Hoje, muita gente sabe fazer backup. Mas pouco se discute nas motivações e melhores práticas sobre o assunto, principalmente sobre os testes de restore. Este artigo contribuiu demais pra somar pra comunidade.
[]'
Muito bom o post! Parabéns
ótimow post!
um erro muito grande por partes das pequenas e médias empresas é não investir em soluções de backup e por parte dos técnicos é não dispor de tempo para testar um recovery.
parabéns
Alex Feleol
Edvaldo,
Em primeiro lugar parabéns pela iniciativa.
Não há duvidas que a informação é vida da empresa, dai a devida importância de uma politica de backup dentro da organização junto com um plano de continuidade de serviços de TI alinhado com o negócio, porem, ainda há profissionais que não tem a devida preocupação em estabelecer uma politica de BACKUP dentro de se estabelecimento de trabalho, deixando-os vulneráveis a possíveis falhas.
Segundo Reis (1993), "Para que esta gestão de informação seja eficaz, é necessário que se estabeleçam um conjunto de políticas coerentes que possibilitem o fornecimento de informação relevante, com qualidade suficiente, precisa, transmitida para o local certo, no tempo correto, com um custo apropriado e facilidades de acesso por parte dos utilizadores autorizados".
Seu post além de contribuir para nosso conhecimento técnico, conscientiza da utilização das melhores praticas dentro das organizações.
Obrigado.
André Borges
Boa Edvaldo.
As auditorias batem forte em cima de testes de restores.
Outra frase que já ouvi por aí é: "QUEM TEM 1 BACKUP, NÃO TEM NENHUM. QUEM TEM 2, TEM 1."
Abraços
Muito bom post. A teoria é sempre importante para alguém que está começando.
Keep posting.
Infelizmente, não é somente quem está começando que foge às regras da parte "teórica"...
Existem diversos ambientes onde não há uma política de backup definida ou o backup é feito de forma ineficiente e ineficaz...
Muito obrigado pelo Feedback
Primeiramente achei o post muito bom, por que não é tecnico é como se fosse um bate papo mesmo, mas um assunto que gostaria de ler dessa forma e como aplicar backup e restore de filegroup.
Adalberto, Obrigado pelo feedback,
A ideia é fazer alguns posts sobre o assunto... e cobrir todo o tema relacionado a backup e recuperação de Falhas...
Abraço
Edvaldo,
Excelente artigo... Esta teoria é fundamental e esquecida por muitos como vc disse.
Existem diversos casos em que não se é discutido uma política de backup pela empresa, que é a dona da informação (muito mais que os dados), e o backup é feito de qualquer forma (quando é feito) sem que se tenha um plano documentado. (Conhecimento explícito!)
Você acaba de dar uma ajuda e tanto a muitos DBAs!
Abs.
Leandro Ribeiro
@sqlleroy
Edvaldo,
Muito bom seus artigo!
Parabens e achei uma excelente iniciativa!
http://pessoalex.wordpress.com/
Alex Souza