{"id":2534,"date":"2013-12-11T08:59:09","date_gmt":"2013-12-11T10:59:09","guid":{"rendered":"http:\/\/fabriciolima.net\/blog\/?p=2534"},"modified":"2016-07-24T00:05:36","modified_gmt":"2016-07-24T03:05:36","slug":"casos-do-dia-a-dia-databases-em-modo-suspect-e-pendente-recovery","status":"publish","type":"post","link":"https:\/\/fabriciolima.net\/blog\/2013\/12\/11\/casos-do-dia-a-dia-databases-em-modo-suspect-e-pendente-recovery\/","title":{"rendered":"Casos do Dia a Dia &#8211; Databases em modo Suspect e Pendente Recovery"},"content":{"rendered":"<p>Ol\u00e1 Pessoal,<\/p>\n<p>Compartilhando mais uma experi\u00eancia do meu Dia a Dia com voc\u00eas (fazia tempo que n\u00e3o fazia um post assim), tive um problema em um servidor onde o servi\u00e7o do SQL Server foi iniciado sem que a LUN onde estavam as bases de usu\u00e1rios tivesse dispon\u00edvel para utiliza\u00e7\u00e3o. Pouco tempo depois a LUN ficou dispon\u00edvel para o SQL Server, mas as bases continuaram indispon\u00edveis.<\/p>\n<p><!--more--><\/p>\n<p>Ao me deparar com esse cen\u00e1rio, verifiquei que duas bases estavam com o status SUSPECT e o resto estava com o status Pendente Recovery. Dessa forma, executei o comando abaixo para deixar as bases online j\u00e1 que o disco estava dispon\u00edvel:<\/p>\n<p>ALTER DATABASE NOME SET ONLINE<\/p>\n<p>Das 20 bases que tinha, 19 ficaram online e apenas uma estava gerando um erro ao executar essa opera\u00e7\u00e3o.<\/p>\n<p>Antes de falar da base que tive um problema mais cr\u00edtico, dessas 19 bases que ficaram ONLINE, todas as bases utilizadas pelo LYNC n\u00e3o estavam mostrando as tabelas existentes nessa base. Ap\u00f3s executar um CHECKDB nessas bases do LYNC, recebia os erros abaixo:<\/p>\n<p>Msg 1823, Level 16, State 2, Line 1<br \/>\nA database snapshot cannot be created because it failed to start.<br \/>\nMsg 7928, Level 16, State 1, Line 1<br \/>\nThe database snapshot for online checks could not be created. Either the reason is given in a previous error or one of the underlying volumes does not support sparse files or alternate streams. Attempting to get exclusive access to run checks offline.<br \/>\nMsg 7985, Level 16, State 2, Line 1<br \/>\nSystem table pre-checks: Object ID 3. Could not read and latch page (1:55) with latch type SH. Check statement terminated due to unrepairable error.<br \/>\nDBCC results for &#8216;BASE&#8217;.<br \/>\nMsg 8966, Level 16, State 2, Line 1<br \/>\nUnable to read and latch page (1:55) with latch type SH. 21(failed to retrieve text for this error. Reason: 15105) failed.<br \/>\nCHECKDB found 0 allocation errors and 1 consistency errors not associated with any single object.<br \/>\nCHECKDB found 0 allocation errors and 1 consistency errors in database &#8216;rgsdyn&#8217;.<br \/>\nis the minimum repair level for the errors found by DBCC CHECKDB (rgsdyn).<br \/>\nMsg 9001, Level 21, State 4, Line 1<br \/>\nThe log for database &#8216;BASE&#8217; is not available. Check the event log for related error messages. Resolve any errors and restart the database.<\/p>\n<p>Fiz um Detach dessas bases e em seguida um Attach. Ao fazer o Attach, as bases subiram sem problema e o CHECKDB n\u00e3o retornou mais nenhum erro. Um grande al\u00edvio!!!!<\/p>\n<p>**IMPORTANTE** &#8211; Nesse caso eu fiz um Detach pois tinha um Backup pronto para restaurar a base. Caso voc\u00ea n\u00e3o tenha um backup ou n\u00e3o possa perder nenhum segundo de informa\u00e7\u00e3o, o indicado \u00e9 tentar outras opera\u00e7\u00f5es antes do Detach, pois ao tentar dar um attach, sua base pode n\u00e3o subir e voc\u00ea pode ficar sem nenhuma informa\u00e7\u00e3o dessa base.<\/p>\n<p>Falando agora da base rebelde que n\u00e3o seguiu o padr\u00e3o das outras.<\/p>\n<p>Tentei alterar o status dessa base com problema para EMERGENCY e OFFILINE e tamb\u00e9m n\u00e3o consegui.<\/p>\n<p>Ap\u00f3s algumas tentativas de voltar a base ela ficou com o status RESTORING.<\/p>\n<p>Nesse momento tentei o comando RESTORE DATABASE BASE with recovery e nada. Tentei continuar o restore com a op\u00e7\u00e3o RESTART do restore e tamb\u00e9m n\u00e3o consegui.<\/p>\n<p>Tentei dar um detach na base e nada.<\/p>\n<p>Executei o comando DROP DATABASE BASE. O comando era executado com sucesso, mas a base n\u00e3o era exclu\u00edda e permanecia com o status RESTORING (ainda n\u00e3o tenho explica\u00e7\u00e3o para isso).<\/p>\n<p>No fim das contas tive que reiniciar o servi\u00e7o do SQL Server no fim do dia. Ao fazer isso a base subiu com o status RECOVERY_PENDING e a\u00ed sim eu consegui dar um DROP DATABASE (antes disso renomeei os arquivos .mdf e .ldf dessa database por precau\u00e7\u00e3o). Ap\u00f3s excluir a base, bastou eu dar um attach nos arquivos dela que ela ficou online e sem nenhum problema.<\/p>\n<p>Passado o susto e a press\u00e3o do chefe do lado cobrando a volta das bases, a experi\u00eancia at\u00e9 que \u00e9 boa. Mais um aprendizado.<\/p>\n<p>Caso passe por esse tipo de problema e n\u00e3o queira arriscar uma a\u00e7\u00e3o que possa ser equivocada, entre em contato comigo que atendo como uma <a href=\"https:\/\/www.fabriciolima.net\/blog\/consultoria-remota\/\" target=\"_blank\">Consultoria SQL Server.<\/a><\/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, Compartilhando mais uma experi\u00eancia do meu Dia a Dia com voc\u00eas (fazia tempo que n\u00e3o fazia um post assim), tive um problema em um servidor onde o servi\u00e7o do SQL Server foi iniciado sem que a LUN onde estavam as bases de usu\u00e1rios tivesse dispon\u00edvel para utiliza\u00e7\u00e3o. Pouco tempo depois a LUN ficou [&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":[85,1012,1011,373,1009,1010,21,1013,1008,33],"class_list":["post-2534","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-alter-database","tag-base-corrompida","tag-checkdb","tag-corrupcao-de-dados","tag-database-offline","tag-database-pendente-recovery","tag-database-suspect","tag-emergency-mode","tag-lun","tag-sql-server"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/2534","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=2534"}],"version-history":[{"count":0,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/2534\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media?parent=2534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/categories?post=2534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/tags?post=2534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}