Loading…

Casos do Dia a Dia – E-mails de eventos com erros críticos no Banco de Dados

Fala Pessoal,

Na semana passada passei por uma experiência 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íticos).

Um certo dia, precisei reiniciar o serviço do SQL Server. Como não posso fazer isso durante o dia, deixei para fazer após às 23:30 h (pouco antes de dormir). Até aqui tudo normal pois já fiz essa operação várias vezes.

Entretanto, ao reiniciar o serviço desse servidor eu comecei a receber, em um loop infinito com um pequeno intervalo de tempo, e-mails com as notificações abaixo:

SQL Server Alert System: ‘Demo: Sev. 20 Errors’ occurred on NOME_SERVER
Exception happened when running extended stored procedure ‘xp_readerrorlog’ in the library ‘xpstar90.dll’. SQL Server is terminating process 127. Exception type: Win32 exception; Exception code: 0xc0000005.

SQL Server Alert System: ‘Demo: Sev. 21 Errors’ occurred on NOME_SERVER
Could not redo log record (168527:20019:34), for transaction ID (0:434568007), on page (1:7900191),
database ‘XXXXXX’ (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.

SQL Server Alert System: ‘Demo: Sev. 24 Errors’ occurred on NOME_SERVER
SQL 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)
in database ID 16 at offset 0x00001613550000 in file ‘X:\XXXXXXX.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail.
This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB).
This error can be caused by many factors; for more information, see SQL Server Books Online.

SQL Server Alert System: ‘Demo: Sev. 25 Errors’ occurred on NOME_SERVER
The MSSQLSERVER service terminated unexpectedly.

Imagina a situação! Você às 23:30h se preparando para dormir e começa a receber um monte desses erros críticos!!! Você pensa na hora: Porque não virei advogado, Personal Trainer ou passei em um concurso público tranquilo??? rsrs

Passada a primeira emoção dos e-mails, a última 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ção DATE/TIME do e-mail estava com uma mensagem antiga. Nessa hora já estava um pouco aliviado, mas ainda não tinha descoberto o motivo do problema.

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:

Para resolver esse problema, cliquei com o botão direito em cima de application->clear log. Ainda consegui salvar o log que parecia corrupto em um arquivo.

Após realizar essa operação, as mensagens de erros pararam de acontecer.

Achei um artigo bem interessante (SQL Server Alerts: Soup to Nuts) com meu brother DBA sempre ONLINE, o Google, que dizia o seguinte:

“In any case, events that are generated by SQL Server are also, by default, written to the Microsoft Windows application log. The SQL Server Agent reads the application log and compares any events it finds there to alerts that you may have defined.”

Acho que isso explica tudo! O application log corrompido causou esse impacto nos alertas do SQL Server. Essas mensagens já aconteceram comigo alguma vez no passado e ainda estavam no log de aplicação no Event Viewer, por isso passei a receber todas essas mensagens quando aconteceram o problema.

Espero poder ajudá-los, principalmente se for às 23:30h ou de madrugada.

Gostou dessa dica?

Cadastre seu e-mail para receber novos Posts e curta minha Página no Facebook para receber Dicas de Leituras e Eventos sobre SQL Server.

Confira mais experiências do Dia a Dia de um DBA no meu Treinamento de Tarefas do Dia a Dia de um DBA.

Abraços,

Fabrício Lima

MCITP – Database Administrator

Consultor e Instrutor SQL Server

Trabalha com SQL Server desde 2006

5 thoughts on “Casos do Dia a Dia – E-mails de eventos com erros críticos no Banco de Dados

  1. Srs, bom dia
    Trabalho com o SQL Server desde a versao 6.0 workstation e windows server 3.1, portanto acompanhei essas ferramentas desde seu inicio, e vejo que o SQL Server precisa mudar esse conceito de win32 DLL, por isso a maioria dos problemas esta nos OLE’s do windows server e ainda continua, muitos servicos do windows server provocam corrompimento aleatorio e isso provoca um CAOS no servicos do SQL Server MSSSQL$SERVER. E favoravel que a Microsoft corrija determinados problemas que para os que estao chegando isso se torna um pavor repentino. Com Oracle para Windows Server o problema e ainda mais grave porque o listener do servico do banco para sem qualquer aviso ou necessidade, assim sendo, problemas mais graves podem ocorrer quando temos centenas ou milhares de DLL’s compartilhando ao mesmo tempo. Trabalhei como Programador/Analista durante quase 15 anos usando SQL Server e Oracle em client/server e desde 2000 Atuo como DBA Oracle e SQL Server nos mais diversos problemas.

    Att
    Fernando

Deixe uma resposta