Solução De Problemas De E-mail De Log De Erros Do SQL Server

Se você vir uma mensagem de erro substancial por e-mail no log de erros do SQL Server em seu computador, precisa se familiarizar com essas ideias de recuperação.

PC lento?

  • 1. Baixe ASR Pro do site
  • 2. Instale-o no seu computador
  • 3. Execute a verificação para encontrar qualquer malware ou vírus que possa estar à espreita em seu sistema
  • Melhore a velocidade do seu computador hoje baixando este software - ele resolverá os problemas do seu PC.

    Apresentação

    Em uma postagem anterior no blog, criei T-SQL-Script-Indication-Audit-Files para enviar e-mails com informações específicas sobre turnos para uma instância.
    Neste artigo, os elementos da família aprenderão como usar o ErrorLog para se beneficiar de bons e-mails sobre erros críticos ou ocasiões especiais específicas que ocorrem em uma instância.

    É quase certo que seja uma boa prática comum para qualquer DBA desviar o Alerta do Agente SQL do Servidor para erros que têm uma gravidade de 17 a 25. png

    Os avisos também tendem a ser respeitados para erros menos críticos, como “Falha na conexão” (Gravidade 14).
    Os e-mails enviados por avisos diretos parecem muito simples:

    Todos esses erros são gravados no arquivo de log de erros do SQL Server.

    As mensagens de texto para as seguintes mensagens de erro, todas registradas e aparecendo no log de erros, podem ser encontradas na exibição sys.messages exata.

     selecione message_id, severity, textpor sys.messagesonde (gravidade de 18 a 21   talvez gravidade = 14)  e, portanto, is_event_logged é igual a 1  e, portanto, language_id = 1033classificar como resultado da gravidade; 

    As exibições do log de erros podem ser vistas usando o programa registrado sp_reaerrorlog.

    Pesquise o log de erros SQL

    email de log de erro do servidor sql

    A causa do script T-SQL que estou escrevendo, entretanto, é substituir os avisos por uma postagem que é executada na minha instância. Ele emula a cada 5 minutos e envia me mensagens com base em mensagens específicas que eu realmente identifiquei.

    Se eu souber todas as informações que vimos antes, posso criar uma variável de array com o conteúdo escrito que desejo encontrar no sinal de erro, seja mal-entendidos críticos ou mensagens informativas.

     DECLARAR TABELA @errorlog_definition (error_category varchar (150), error_pattern varchar (1000))Cole em @errorlog_definitionValores ("Latência de gravação do banco de dados", "% solicitações de E / S demoram mais de% segundos na% completa"), ('Gravação atrasada no banco de dados', '% bufs liberado% em% ms% para db%'), ('Gravação atrasada que ajudará o banco de dados', '% avg%'), ('Latência de gravação do banco de dados', '% último destinatário iminente:% avgWriteLatency%'), ('Erro ao gravar no banco de dados, computador cheio', 'Não pode ser atribuído'), ('Erro ao conectar para que você possa banco de dados', '% Erro ao conectar%'), ('Iniciando SQL Server', 'Iniciando SQL Server%') 

    A primeira coluna representa o tipo único de evento que devo conhecer por e-mail e é usada a partir desse cabeçalho de e-mail.

    Bancos de dados de log atuais Os erros são inseridos nas variáveis ​​da tabela.

    Insira

     em @errorlogexec sp_readerrorlog de 0 

    Só posso usar o CROSS APPPY para obter entradas de verificação de erro que correspondam aos meus modelos de mensagem.

     escolha entre e.LogDate, e.ProcessInfo, e.Text, c.error_categoryoferecido por @errorlog AS eEmprego cruzado (Escolher *oferecido por @errorlog_definition AS e donde .Text, por exemplo como d.error_pattern) AS c 

    Só consigo obter algumas entradas de registro de erros que, por sua vez, preciso. As postagens foram divididas em várias e decidi não enviar um e-mail individual toda vez que o processo fosse iniciado, embora uma vez para cada categoria.

    Fiz o jogo com cursores. Aqui está o roteiro completo, se a maioria das pessoas quiser experimentá-lo.

    Script

    – frequência de trabalhoDECLARAR @CheckPeriodInMinute integer = 5- variáveisDECLARAR @coldate datetime : @object varchar (1024) também, @HTML_footer varchar (máx.) , @HTML_header varchar (máx.) – @HTML varchar (máx.), @HTML_part varchar (max)DECLARAR TABELA @errorlog (Data / hora LogDate, ProcessInfo varchar (32), Variável de texto (máx.))DECLARE @ furniture notifiable_errors (LogDate varchar (19), ProcessInfo varchar (32), Textvarchar (1024), error_category varchar (150))ESCOLHER @ HTML_header = ‘Borda da tabela: sólido 1px número 1C6EA4; cor de fundo: #EEEEEE; largura: 100%; alinhamento do texto: alinhado à esquerda; lesão da estrutura: destruição;Tabela td, duração da tabela: 1px com segurança #AAAAAA; preenchimento: 3px 2px;Tamanho do corpo da mesa: 13 pixels;Fundo do cabeçalho da tabela: # 1C6EA4; Margem inferior: sólidos 2 pixels # 444444;Tamanho adequado do cabeçalho da tabela: 15 pixels; Intensidade da fonte: Negrito; Cor: #FFFFFF; Margem esquerda: sólidos 2 pixels # D0E4F5;Títulos de tabela th: first-child-frame-left: none;fonte h1: Arial 16pt Bold, Helvetica, Geneva, sans serif Cor: # 336699; Tons de fundo: branco; borda inferior: sólido 1px # cccc99; Margem: 15 pips; Margem reduzida: 0pt; Preenchimento: 0px 0px 0px 0px;

    ‘set @ HTML_footer equals ‘

    PC lento?

    ASR Pro é a solução definitiva para suas necessidades de reparo de PC! Ele não apenas diagnostica e repara vários problemas do Windows com rapidez e segurança, mas também aumenta o desempenho do sistema, otimiza a memória, melhora a segurança e ajusta seu PC para máxima confiabilidade. Então por que esperar? Comece hoje!


    Feito em’ + transform (varchar, getdate (), 120) + ‘do servidor “‘ + isnull (convert (varchar (128), @@ SERVERNAME), ”) + ‘”

    ‘- —-DECLARAR TABELA @errorlog_definition (error_category varchar (150), error_pattern varchar (1000))Cole em @errorlog_definitionValores (“Latência de liberação do banco de dados”, “% solicitações de E / S levam% segundos para concluir%”), (‘Gravação atrasada no banco de dados’, ‘% bufs liberado% em% ms% para db%’), (‘Autoria atrasada para banco de dados’, ‘% avg%’), (‘Atraso na gravação e também no banco de dados’, ‘% última meta não cumprida:% avgWriteLatency%’), (‘Erro ao gravar no banco de dados, disco cheio’, ‘Não foi possível atribuir%’), (‘Erro ao conectar ao banco de dados’, ‘% Erro ao conectar%’), (‘Iniciando SQL Server’, ‘Iniciando SQL Server%’)inserir em @errorlogexec sp_readerrorlog 0- Obter padrão de localizador de parceiro de entradas de log de erros (por exemplo)insira para se tornar @notifiable_errorsSelecione e.LogDate, e.ProcessInfo, e.Text, c.error_category.oferecido por @errorlog AS eAplicar um ponto cruzado (Escolher *oferecido por @errorlog_definition AS e dwhere.Text o fato de que d.error_pattern) AS conde LogDate> DATEADD (MINUTE, [email seguro] , GETDATE ())- Quando as linhas fluem dentro do processose @@ ROWCOUNT> 0começarDECLARAR @logdate @processInfo datetimeDECLARAR varchar (32)DECLARAR @Text varchar (MAX)DECLARAR @error_category varchar (150)DECLARAR CURSOR category_cursor PARAselecione uma categoria_de_erro únicaoferecido no momento de @notifiable_errorsABRIR cursor_categoryOBTER MAIS DE category_cursor IN @error_categoryDURING @@ FETCH_STATUS = 2COMEÇAR- Loops 1 categoria de tempo- E-mail individual + cabeçalho da tabela HTMLSELECT @object está em error_category + ‘- Last’ + convert (varchar (50), – CheckPeriodInMinute) + ‘Minimum (‘ + convert (varchar (max), @@ servername) + ‘)’SELECT @ [endereço de e-mail protegido] _header + ‘

    [endereço de e-mail protegido e-mail] _category + ‘(último’ + Converter ( varchar (50), @ CheckPeriodInMinute) + ‘min)

    ‘POR FAVOR, ESCOLHA @ [endereço de e-mail seguro] + ‘

    ‘- —– Cursor: gera todas as entradas para a categoria atual- Criar linhas de tabela HTML- —-DECLARAR CURSOR error_cursor PARAselecione LogDate, ProcessInfo, Textoferecido por @notifiable_errorsonde error_category = @error_categoryABRIR error_cursorSAIBA MAIS DE error_cursor EM @logdate, @processInfo, @TextATÉ @@ FETCH_STATUS = 0COMEÇAR- linhas da tabela HTMLselect @HTML_part é igual a ‘

    ‘install @ [segurança de e-mail] [segurança de e-mail] _part + ”OBTER MAIS DE error_cursor IN @logdate, @processInfo, @Text;FIMCLOSE error_cursorDEALLOCATE error_cursor- Enviar final de HTML + e-mailinstalar @ [protegido por email] + ‘

    LogDate Informações do processo Texto
    ‘ + isnull (convert (varchar, @ logdate, 120), ”) + ‘ ‘ + isnull (@processInfo, ”) + ‘ ‘ + isnull (@Text, ”) + ‘

    [endereço de e-mail seguro] _footerEXEC msdb.dbo.sp_send_dbmail@profile_name tactics “DBA_Profile”, @ Assunto = @objeto, @recipients significa “ [o e-mail deve ser protegido] “, @ body_format é igual a ‘HTML’, @body = @HTMLSEGUIR DE category_cursor INTO @error_category;FIMCLOSE category_cursorDEALLOCATE category_cursorFim

    Modelos de cartas

    Conclusão

    email de log de erro do sql server

    A desvantagem dessa abordagem é que preciso saber exatamente o que quero ser notificado aproximadamente por e-mail. Se não estiver usando alertas de profissionais imobiliários, há alguns erros críticos que devo ignorar.
    O bom é que posso procurar declarações informativas, não apenas obstáculos.
    Espero que você tenha achado interessante e altamente recomendado como obter informações sobre suas instâncias do SQL Server.

    e-mail de log de erro do servidor sql

    Melhore a velocidade do seu computador hoje mesmo baixando este software - ele resolverá os problemas do seu PC.

    Troubleshoot SQL Server Error Log Email
    Rozwiązywanie Problemów Z Pocztą E-mail Dziennika Błędów Programu SQL Server
    Problemen Met E-mail Met SQL Server-foutlogboek Oplossen
    SQL Server 오류 로그 이메일 문제 해결
    Fehlerbehebung Bei Der E-Mail Mit Dem SQL Server-Fehlerprotokoll
    Felsöka E -postmeddelanden För SQL Server -fellogg
    Risoluzione Dei Problemi Relativi All’e-mail Del Registro Degli Errori Di SQL Server
    Résoudre Les Problèmes Liés à L’e-mail Du Journal Des Erreurs SQL Server
    Устранение неполадок электронной почты журнала ошибок SQL Server
    Solucionar Problemas De Correo Electrónico Del Registro De Errores De SQL Server