{"id":3628,"date":"2015-11-12T10:37:41","date_gmt":"2015-11-12T12:37:41","guid":{"rendered":"http:\/\/www.fabriciolima.net\/blog\/?p=3628"},"modified":"2016-07-23T22:22:53","modified_gmt":"2016-07-24T01:22:53","slug":"casos-do-dia-a-dia-corrupcao-de-dados-alertas-backup-log-dba-salvo","status":"publish","type":"post","link":"https:\/\/fabriciolima.net\/blog\/2015\/11\/12\/casos-do-dia-a-dia-corrupcao-de-dados-alertas-backup-log-dba-salvo\/","title":{"rendered":"Casos do Dia a Dia: Corrup\u00e7\u00e3o de dados + Alertas + Backup Log = DBA Salvo!"},"content":{"rendered":"<p>Ol\u00e1 Pessoal,<\/p>\n<p>Estou aqui para compartilhar com voc\u00eas mais um caso do dia a dia que aconteceu comigo no dia de ontem.<\/p>\n<p>Estava eu feliz da vida trabalhando em meu home office, quando recebi um <a href=\"https:\/\/www.fabriciolima.net\/blog\/consultoria-remota\/criacao-de-alertas\/\" target=\"_blank\">e-mail de alerta<\/a> indicando corrup\u00e7\u00e3o de dados em um dos meus <a href=\"https:\/\/www.fabriciolima.net\/blog\/clientes\/\" target=\"_blank\">12 clientes<\/a> que realizo a <a href=\"https:\/\/www.fabriciolima.net\/blog\/consultoria-remota\/\" target=\"_blank\">administra\u00e7\u00e3o e o monitoramento remoto do banco<\/a> deles.<\/p>\n<p>Como corrup\u00e7\u00e3o de dados \u00e9 aquele tipo de problema que a adrenalina sobe na hora e o cora\u00e7\u00e3o bate mais forte, rapidamente j\u00e1 realizei um acesso remoto para analisar o problema.<\/p>\n<p>Logando no servidor e realizando o CHECKDB nas bases, identifiquei 6 bases de dados corrompidas (incluindo a base MSDB). E eram MUITAS corrup\u00e7\u00f5es, inclusive em p\u00e1ginas internas do SQL Server.<\/p>\n<p>A\u00ed que entra um cara lindo chamado BACKUP DO LOG!!!!<\/p>\n<p>A corrup\u00e7\u00e3o aconteceu nas p\u00e1ginas de dados do SQL Server (arquivo .mdf). Felizmente os arquivos de log estavam intactos.<\/p>\n<p>Como o backup do log guarda todas as altera\u00e7\u00f5es na base uma a uma (insert\/update\/delete\/etc), mesmo acontecendo uma corrup\u00e7\u00e3o na base \u00e0s 12h, se o SQL Server ainda conseguir rodar um backup do log dessa base \u00e0s 12h:10min, esse backup do log vai estar limpo (sem corrup\u00e7\u00e3o).<\/p>\n<p>Olha que coisa linda!!!<\/p>\n<p>Se eu fizesse um backup FULL ele estaria com dados corrompidos pois iria ler todas as p\u00e1ginas de dados do SQL.<\/p>\n<p>Seguem os passos realizados (dica de ouro):<\/p>\n<p>1 &#8211; Parei o acesso as bases de dados.<\/p>\n<p>2 &#8211; Fiz um \u00faltimo backup do Log<\/p>\n<p>3 &#8211; Restaurei o backup FULL que \u00e9 feito na madrugada<\/p>\n<p>4 &#8211; Restaurei todos os backups do Log at\u00e9 o backup feito no passo 2<\/p>\n<p>5 &#8211; Executei um novo CHECKDB em todas as 6 bases de dados e nenhuma delas indicou corrup\u00e7\u00e3o de dados<\/p>\n<p>Pronto!!! Bases restauradas sem corrup\u00e7\u00e3o at\u00e9 o \u00faltimo instante que o sistema estava funcionando e sem nenhuma perda de dados.<\/p>\n<p><strong>Corrup\u00e7\u00e3o de Dados + Alertas + Backup = DBA Salvo + Empresa sem perda de dados!!!<\/strong><\/p>\n<p>H\u00e1 1 ano, esse cliente n\u00e3o tinha nenhum DBA monitorando o banco de dados.<\/p>\n<p>Ou seja:<\/p>\n<ul>\n<li>Ele n\u00e3o tinha uma rotina de backup do Log<\/li>\n<li>Ele n\u00e3o tinha alertas no banco de dados<\/li>\n<li>Ele n\u00e3o tinha um DBA realizando dois testes de restore (FULL + Logs) \u00a0por m\u00eas<\/li>\n<\/ul>\n<p>Dessa forma, ele poderia demorar para identificar o problema de corrup\u00e7\u00e3o e perder informa\u00e7\u00f5es valiosas da empresa.<\/p>\n<p>Eu sempre digo que corrup\u00e7\u00f5es s\u00e3o raras, mas acontecem. Nesse caso, foi devido a um desligamento for\u00e7ado do servidor somado a algum problema de hardware.<\/p>\n<p><span style=\"color: #000000;\">Para refletir: <\/span><\/p>\n<ul>\n<li><span style=\"color: #ff0000;\">O banco de dados da sua empresa est\u00e1 preparado para esse tipo de problema?<\/span><\/li>\n<li><span style=\"color: #ff0000;\">Algum colaborador est\u00e1 capacitado para analisar e resolver essas falhas?<\/span><\/li>\n<\/ul>\n<p><strong><span style=\"color: #0000ff;\">Ou voc\u00ea treina algu\u00e9m, ou voc\u00ea contrata algu\u00e9m ou voc\u00ea est\u00e1 correndo risco de perder dados.<\/span><\/strong><\/p>\n<p>Espero ter ajudado.<\/p>\n<p><b>Gostou dessa dica?<\/b><\/p>\n<p>Cadastre seu e-mail para receber novos Posts e curta minha <a href=\"https:\/\/www.facebook.com\/FabricioLimaSolucoesemBancodeDados\/\" target=\"_blank\">P\u00e1gina no Facebook<\/a> para receber Dicas de Leituras e Eventos sobre SQL Server.<\/p>\n<p>Confira mais experi\u00eancias do Dia a Dia de um DBA no meu <a href=\"https:\/\/www.fabriciolima.net\/cursos-online\/treinamento-tarefas-do-dia-a-dia-de-um-dba-online\/\" target=\"_blank\">Treinamento de Tarefas do Dia a Dia de um DBA<\/a>.<\/p>\n<p>Abra\u00e7os,<\/p>\n<p>Fabr\u00edcio Lima<\/p>\n<p>MCITP \u2013 Database Administrator<\/p>\n<p>Consultor e Instrutor SQL Server<\/p>\n<p>Trabalha com SQL Server desde 2006<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 Pessoal, Estou aqui para compartilhar com voc\u00eas mais um caso do dia a dia que aconteceu comigo no dia de ontem. Estava eu feliz da vida trabalhando em meu home office, quando recebi um e-mail de alerta indicando corrup\u00e7\u00e3o de dados em um dos meus 12 clientes que realizo a administra\u00e7\u00e3o e o monitoramento [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"footnotes":""},"categories":[3,6,942,991,33,280],"tags":[1151,1179,954,1011,942,1114,422,23,1154,1153,1152,1150,33,385],"class_list":["post-3628","post","type-post","status-publish","format-standard","hentry","category-administracao-de-bd","category-casos-do-dia-a-dia","category-consultoria-sql-server","category-dba-remoto","category-sql-server","category-virtual-pass-br","tag-alertas-banco-de-dados","tag-attach","tag-backup","tag-checkdb","tag-consultoria-sql-server","tag-corrupcao","tag-corruption","tag-dba","tag-especialista-banco-de-dados","tag-problema-sql-server","tag-repair_allow_data_loss","tag-restore","tag-sql-server","tag-suspect_pages"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/3628","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/comments?post=3628"}],"version-history":[{"count":0,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/3628\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media?parent=3628"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/categories?post=3628"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/tags?post=3628"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}