{"id":1070,"date":"2011-12-05T22:21:28","date_gmt":"2011-12-06T00:21:28","guid":{"rendered":"http:\/\/fabriciolima.net\/blog\/?p=1070"},"modified":"2016-07-23T23:30:48","modified_gmt":"2016-07-24T02:30:48","slug":"casos-do-dia-a-dia-e-mails-de-eventos-com-erros-criticos-no-banco-de-dados","status":"publish","type":"post","link":"https:\/\/fabriciolima.net\/blog\/2011\/12\/05\/casos-do-dia-a-dia-e-mails-de-eventos-com-erros-criticos-no-banco-de-dados\/","title":{"rendered":"Casos do Dia a Dia &#8211; E-mails de eventos com erros cr\u00edticos no Banco de Dados"},"content":{"rendered":"<p>Fala Pessoal,<\/p>\n<p>Na semana passada passei por uma experi\u00eancia que gostaria de compartilhar aqui no Blog.<\/p>\n<p>Em meus servidores SQL Server, eu configuro o envio de alertas quando acontece algum erro com severidade entre 20 e 25 (cr\u00edticos).<\/p>\n<p>Um certo dia, precisei reiniciar o servi\u00e7o do SQL Server. Como n\u00e3o posso fazer isso durante o dia, deixei para fazer ap\u00f3s \u00e0s 23:30 h (pouco antes de dormir). At\u00e9 aqui tudo normal pois j\u00e1 fiz essa opera\u00e7\u00e3o v\u00e1rias vezes.<\/p>\n<p>Entretanto, ao reiniciar o servi\u00e7o desse servidor eu comecei a receber, em um loop infinito com um pequeno intervalo de tempo, e-mails com as notifica\u00e7\u00f5es abaixo:<\/p>\n<p><strong>SQL Server Alert System: &#8216;Demo: Sev. 20 Errors&#8217; occurred on NOME_SERVER<\/strong><br \/>\nException happened when running extended stored procedure &#8216;xp_readerrorlog&#8217; in the library &#8216;xpstar90.dll&#8217;. SQL Server is terminating process 127. Exception type: Win32 exception; Exception code: 0xc0000005.<\/p>\n<p><strong>SQL Server Alert System: &#8216;Demo: Sev. 21 Errors&#8217; occurred on NOME_SERVER<\/strong><br \/>\nCould not redo log record (168527:20019:34), for transaction ID (0:434568007), on page (1:7900191),<br \/>\ndatabase &#8216;XXXXXX&#8217; (database ID 15). Page: LSN = (168526:638915:11), type = 1. Log: OpCode = 6, context 2, PrevPageLSN: (168527:19375:23). Restore from a backup of the database, or repair the database.<\/p>\n<p><strong>SQL Server Alert System: &#8216;Demo: Sev. 24 Errors&#8217; occurred on NOME_SERVER<\/strong><br \/>\nSQL Server detected a logical consistency-based I\/O error: incorrect pageid (expected 1:11573928; actual 1:11867396). It occurred during a read of page (1:11573928)<br \/>\nin database ID 16 at offset 0x00001613550000 in file &#8216;X:\\XXXXXXX.mdf&#8217;.  Additional messages in the SQL Server error log or system event log may provide more detail.<br \/>\nThis is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB).<br \/>\nThis error can be caused by many factors; for more information, see SQL Server Books Online.<br \/>\n<strong><br \/>\nSQL Server Alert System: &#8216;Demo: Sev. 25 Errors&#8217; occurred on NOME_SERVER<br \/>\nThe MSSQLSERVER service terminated unexpectedly.<\/strong><\/p>\n<p><span style=\"color: #ff0000;\">Imagina a situa\u00e7\u00e3o! Voc\u00ea \u00e0s 23:30h se preparando para dormir e come\u00e7a a receber um monte desses erros cr\u00edticos!!! Voc\u00ea pensa na hora: Porque n\u00e3o virei advogado, Personal Trainer ou passei em um concurso p\u00fablico tranquilo??? rsrs<\/span><\/p>\n<p>Passada a primeira emo\u00e7\u00e3o dos e-mails, a \u00faltima mensagem era a que mais me assustava, entretanto, o SQL Server e suas databases estavam todas online. Analisando mais um pouco a mensagem, percebi que a informa\u00e7\u00e3o DATE\/TIME do e-mail estava com uma mensagem antiga. Nessa hora j\u00e1 estava um pouco aliviado, mas ainda n\u00e3o tinha descoberto o motivo do problema.<\/p>\n<p>Loguei no servidor para ver o event viwer e para minha tristeza (mais um erro estranho) ou alegria (agora tinha um suspeito), recebi a mensagem abaixo:<\/p>\n<p><a href=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2011\/12\/EventLogCorrupt.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1072\" title=\"EventLogCorrupt\" src=\"https:\/\/www.fabriciolima.net\/blog\/wp-content\/uploads\/2011\/12\/EventLogCorrupt.png\" alt=\"\" width=\"770\" height=\"291\" \/><\/a><\/p>\n<p>Para resolver esse problema, cliquei com o bot\u00e3o direito em cima de application-&gt;clear log. Ainda consegui salvar o log que parecia corrupto em um arquivo.<\/p>\n<p>Ap\u00f3s realizar essa opera\u00e7\u00e3o, as mensagens de erros pararam de acontecer.<\/p>\n<p>Achei um artigo bem interessante (<a href=\"http:\/\/www.simple-talk.com\/sql\/database-administration\/sql-server-alerts-soup-to-nuts\/\" target=\"_blank\">SQL Server Alerts: Soup to Nuts<\/a>) com meu brother DBA sempre ONLINE, o Google, que dizia o seguinte:<\/p>\n<p>&#8220;In any case, events that are generated by SQL Server are also, by default, written to the Microsoft Windows application log. The <strong>SQL Server Agent<\/strong> reads the application log and compares any events it finds there to alerts that you may have defined.&#8221;<\/p>\n<p>Acho que isso explica tudo! O application log corrompido causou esse impacto nos alertas do SQL Server. Essas mensagens j\u00e1 aconteceram comigo alguma vez no passado e ainda  estavam no log de aplica\u00e7\u00e3o no Event Viewer, por isso passei a receber todas essas mensagens quando  aconteceram o problema.<\/p>\n<p>Espero poder ajud\u00e1-los, principalmente se for \u00e0s 23:30h ou de madrugada.<\/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>Fala Pessoal, Na semana passada passei por uma experi\u00eancia que gostaria de compartilhar aqui no Blog. Em meus servidores SQL Server, eu configuro o envio de alertas quando acontece algum erro com severidade entre 20 e 25 (cr\u00edticos). Um certo dia, precisei reiniciar o servi\u00e7o do SQL Server. Como n\u00e3o posso fazer isso durante o [&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":"","jetpack_post_was_ever_published":false},"categories":[3,6,280],"tags":[461,23,24,464,463,457,458,459,49,33,462,456,460],"class_list":["post-1070","post","type-post","status-publish","format-standard","hentry","category-administracao-de-bd","category-casos-do-dia-a-dia","category-virtual-pass-br","tag-application-log","tag-dba","tag-dbcc-checkdb","tag-event-viewer","tag-fabricio-lima","tag-sev-21-errors","tag-sev-24-errors","tag-sev-25-errors","tag-sql","tag-sql-server","tag-sql-server-alert","tag-sql-server-alert-system-demo-sev-20-errors-occurred-on","tag-the-event-log-file-is-corrupt"],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":2534,"url":"https:\/\/fabriciolima.net\/blog\/2013\/12\/11\/casos-do-dia-a-dia-databases-em-modo-suspect-e-pendente-recovery\/","url_meta":{"origin":1070,"position":0},"title":"Casos do Dia a Dia &#8211; Databases em modo Suspect e Pendente Recovery","author":"Fabr\u00edcio Lima","date":"11 de dezembro de 2013","format":false,"excerpt":"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\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1046,"url":"https:\/\/fabriciolima.net\/blog\/2011\/11\/07\/casos-do-dia-a-dia-databases-online-e-inacessiveis-para-select\/","url_meta":{"origin":1070,"position":1},"title":"Casos do Dia a Dia &#8211; Databases ONLINE e inacess\u00edveis para SELECT","author":"Fabr\u00edcio Lima","date":"7 de novembro de 2011","format":false,"excerpt":"Fala Pessoal, O tempo est\u00e1 bem curto e por isso faz tempo que n\u00e3o posto por aqui. Semana passada passei por um problema e gostaria de deixar registrado aqui para voc\u00eas. Possuo um servidor SQL Server de homologa\u00e7\u00e3o que \u00e9 virtualizado. Algumas databases menores ficam dentro do pr\u00f3prio VHD e\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3714,"url":"https:\/\/fabriciolima.net\/blog\/2015\/12\/17\/corrupcao-de-dados-incorrect-pfs-free-space-information\/","url_meta":{"origin":1070,"position":2},"title":"Corrup\u00e7\u00e3o de Dados: Incorrect PFS free space information","author":"Fabr\u00edcio Lima","date":"17 de dezembro de 2015","format":false,"excerpt":"Ol\u00e1 Pessoal, Essa semana iniciei mais uma Consultoria Remota em um cliente e uma das atividades mais importante desse servi\u00e7o \u00e9 criar uma rotina para validar diariamente se existe corrup\u00e7\u00e3o nos bancos. Na grande maioria das vezes o banco est\u00e1 abandonado e n\u00e3o tem uma rotina dessa. Ao executar essa\u2026","rel":"","context":"Em &quot;Administra\u00e7\u00e3o de Banco de Dados&quot;","block_context":{"text":"Administra\u00e7\u00e3o de Banco de Dados","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/administracao-de-bd\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":942,"url":"https:\/\/fabriciolima.net\/blog\/2011\/08\/15\/casos-do-dia-a-dia-corrupcao-de-dados-e-database-suspect\/","url_meta":{"origin":1070,"position":3},"title":"Casos do Dia a Dia: Corrup\u00e7\u00e3o de Dados e Database Suspect","author":"Fabr\u00edcio Lima","date":"15 de agosto de 2011","format":false,"excerpt":"Fala Pessoal, Gostaria de fazer deste post como se fosse uma thread de um f\u00f3rum com uma discus\u00e3o sobre alta disponibilidade no SQL Server. S\u00e1bado, dia 13\/08 eu tive um problema em uma database que deixa qualquer DBA com o cora\u00e7\u00e3o disparado(DBA n\u00e3o pode ter problema card\u00edaco!!!). Uma database de\u2026","rel":"","context":"Em &quot;Casos do Dia a Dia&quot;","block_context":{"text":"Casos do Dia a Dia","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/casos-do-dia-a-dia\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":564,"url":"https:\/\/fabriciolima.net\/blog\/2011\/03\/17\/casos-do-dia-a-dia-erro-ao-executar-o-comando-dbcc-checkdb\/","url_meta":{"origin":1070,"position":4},"title":"Casos do Dia a Dia: Erro ao executar o comando DBCC CHECKDB","author":"Fabr\u00edcio Lima","date":"17 de mar\u00e7o de 2011","format":false,"excerpt":"Casos do Dia a Dia: Erro ao executar o comando DBCC CHECKDB","rel":"","context":"Em &quot;Casos do Dia a Dia&quot;","block_context":{"text":"Casos do Dia a Dia","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/casos-do-dia-a-dia\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":77,"url":"https:\/\/fabriciolima.net\/blog\/2010\/10\/08\/casos-do-dia-a-dia-database-em-modo-suspect\/","url_meta":{"origin":1070,"position":5},"title":"Casos do Dia a Dia: Database em modo Suspect","author":"Fabr\u00edcio Lima","date":"8 de outubro de 2010","format":false,"excerpt":"Gostaria de compartilhar com voc\u00eas uma experi\u00eancia que tive no ambiente de banco de dados que administro. Realizando um boot em um dos meus servidores SQL Server devido as atualiza\u00e7\u00f5es de seguran\u00e7a do windows, uma de minhas databases subiu em modo Suspect. Como essa database \u00e9 restaurada diariamente do servidor\u2026","rel":"","context":"Em &quot;Casos do Dia a Dia&quot;","block_context":{"text":"Casos do Dia a Dia","link":"https:\/\/fabriciolima.net\/blog\/category\/sql-server\/casos-do-dia-a-dia\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/1070","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=1070"}],"version-history":[{"count":0,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/posts\/1070\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/media?parent=1070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/categories?post=1070"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabriciolima.net\/blog\/wp-json\/wp\/v2\/tags?post=1070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}