Rozwiązywanie Problemów Z Pocztą E-mail Dziennika Błędów Programu SQL Server

 

Jeśli zobaczysz komunikat o błędzie przesyłania dalej podczas sprawdzania błędów programu SQL Server na swoim komputerze, musisz zapoznać się z tymi pomysłami dotyczącymi odzyskiwania.

Komputer działa wolno?

  • 1. Pobierz ASR Pro ze strony internetowej
  • 2. Zainstaluj go na swoim komputerze
  • 3. Uruchom skanowanie, aby znaleźć złośliwe oprogramowanie lub wirusy, które mogą czaić się w twoim systemie
  • Już dziś popraw szybkość swojego komputera, pobierając to oprogramowanie - rozwiąże ono problemy z komputerem.

     

     

    Prezentacja

    W poprzednim wpisie na blogu stworzyłem pliki T-SQL-Script-Indication-Audit-Files w celu wysyłania e-maili z określonymi informacjami o zmianach, które mają pomóc instancji.
    W tym artykule członkowie rodziny dowiadują się, jak korzystać z dziennika błędów, aby uzyskać przyzwoite wiadomości e-mail o błędach krytycznych lub określonych zdarzeniach, które wystąpią w danej instancji.

    Dosyć typową dobrą praktyką dla każdego administratora jest konfigurowanie alertu agenta SQL serwera dla błędów o jednym poziomie ważności od 17 do 25. png

    Ostrzeżenia są również często wdzięczne za mniej krytyczne błędy, takie jak „Połączenie nie powiodło się” (ważność 14).
    E-maile wysyłane przez wyszukiwanie alertów są bardzo proste:

    Wszystkie połączone te błędy są zapisywane w pliku dziennika błędów programu SQL Server.

    Wiadomości tekstowe dla każdego z tych komunikatów o błędach, z których wszystkie są rejestrowane w każdym z naszych dzienników błędów, można znaleźć ogólnie w widoku sys.messages.

     wybierz identyfikator wiadomości, ważność, tekstprzez sys.messagesgdzie (dotkliwość od 18 do 21   lub prawo grawitacji = 14)  a zatem jest_event_logged równa się 1  a zatem id_języka = 1033sortuj powagę; 

    Widoki dziennika błędów można łatwo odczytać za pomocą zarejestrowanego programu sp_reaerrorlog.

    Przeszukaj dziennik błędów SQL danej osoby

    sql server error e-mail

    Celem w odniesieniu do skryptu T-SQL, który teraz piszę, było zastąpienie ostrzeżeń zadaniem, które działa tylko w mojej instancji. Emuluje co 5 minimum i wysyła mi wiadomości oparte na określonych przeze mnie komunikatach.

    Jeśli znam wszystkie informacje, które widzieliśmy wcześniej, mam możliwość utworzenia zmiennej tablicowej z tekstem, który chcę znaleźć w dzienniku błędów, czasem krytycznych nieporozumień lub komunikatów informacyjnych.

     DECLARE TABLE @errorlog_definition (error_category varchar (150), wzorzec_błędu varchar (1000))Wklej, aby stać się @errorlog_definitionWartości („Opóźnienie zapisu bazy danych”, „% żądań I lub O trwa dłużej niż% sekund i kończy%”), ('Opóźniony zapis do bazy danych', '% opróżnionych bufs% in% ms% dla db%'), ('Opóźniony zapis do bazy danych', '% avg%'), ('Opóźnienie zapisu bazy danych', '% ostatniego nierozwiązanego odbiorcy:% avgWriteLatency%'), ('Błąd zapisu do bazy danych, dysk zapełniony', 'Na pewno nie może być przypisany'), ('Błąd łączenia z bazą danych', '% Błąd łączenia%'), ('Uruchamianie SQL Server', 'Uruchamianie SQL Server%') 

    Pierwsza kolumna reprezentuje konkretną odmianę zdarzenia, o którym powinienem zostać powiadomiony przez e-mail i jest używana z nagłówka oprogramowania e-mail.

    Bieżące bazy danych dzienników Błędy mogą być wstawiane do zmiennych tabeli.

    Wstaw

     łatwo do @errorlogexec sp_readerrorlog od 0 

    Teraz mogę tylko użyć CROSS APPPY, aby uzyskać aukcje sprzedaży dziennika błędów, które pasują do moich szablonów wiadomości.

     podjąć decyzję e.LogDate, e.ProcessInfo, e.Text, c.error_categoryoferowane przez @errorlog AS eZatrudnienie krzyżowe (Wybierać *oferowane przez @errorlog_definition AS e dgdzie .Text, na przykład jak d.error_pattern) AS c 

    Mogę łatwo uzyskać tylko niektóre wpisy w dzienniku błędów, których potrzebuję. Posty zostały podzielone na kategorie, ponieważ postanowiłem nie wysyłać jednego maila za każdym razem, gdy proces się rozpoczynał, ale o tej samej godzinie dla każdej kategorii.

    Zrobiłem to z kursorami. Oto kompletny skrypt, jeśli masz nadzieję go wypróbować.

    Skrypt

    – częstotliwość bycia zatrudnionymDECLARE @CheckPeriodInMinute liczba całkowita = 5- zmienneDECLARE @coldate datetime 1 . @obiekt varchar (1024) , @HTML_footer varchar (maks.) także , @HTML_header varchar (maks.) – @HTML varchar (maks.), @HTML_part varchar (maks.)ZADEKLARUJ TABELĘ @errorlog (Data / godzina Data dziennika, varchar informacji o procesie (32), Zmienna tekstowa (maks.))DECLARE @ table notifiable_errors (Zmienna LogDate (19), varchar informacji o procesie (32), Textvarchar (1024), kategoria_błędu varchar (150))WYBIERZ @ HTML_header =’Obramowanie tabeli: stałe 1px # 1C6EA4; poprzedni kolor: #EEEEEE; szerokość: 100%; wyrównanie tekstu: wyrównane do lewej; uszkodzenia konstrukcji: zniszczenie;Tabela td, rama stołu: 1px prawidłowo #AAAAAA; wypełnienie: 3px 2px;Zakres czcionek w treści tabeli: 13 pikseli;Tło nagłówka tabeli: # 1C6EA4; Dolna ilość: stałe 2 piksele # 444444;Stopień czcionki nagłówka tabeli: 15 pikseli; Grubość czcionki: pogrubiona; Kolor: #FFFFFF; Margines lewy: stałe 2 piksele # D0E4F5;Tagi h2 tabeli th: first-child-frame-left: none;czcionka h1: Arial 16pt Bold, Helvetica, Genewa, bezszeryfowa Kolor: # 336699; Kolor tła: biały; obramowanie dolne: stałe 1px # cccc99; Marża: 13 pipsów; Obniżona marża: 0 pkt; Dopełnienie: 0px 0px 0px 0px;

    ‘set @ HTML_footer oznacza ‘

    Komputer działa wolno?

    ASR Pro to najlepsze rozwiązanie dla potrzeb naprawy komputera! Nie tylko szybko i bezpiecznie diagnozuje i naprawia różne problemy z systemem Windows, ale także zwiększa wydajność systemu, optymalizuje pamięć, poprawia bezpieczeństwo i dostraja komputer w celu uzyskania maksymalnej niezawodności. Więc po co czekać? Zacznij już dziś!


    Gotowe za’ + przekonwertuj (varchar, getdate (), 120) + ‘z serwera “‘ + isnull (konwertuj (varchar (128)), @@ NAZWA SERWERA), ”) + ‘”

    ‘- —-ZADEKLARUJ TABELĘ @errorlog_definition (error_category varchar (150), wzorzec_błędu varchar (1000))Wklej do @errorlog_definitionWartości („Opóźnienie zapisu bazy danych”, „% żądań we/wy zajmuje więcej niż% najmniej bitu do ukończenia%”), (‘Opóźniony zapis do bazy danych’, ‘% opróżnionych bufs% in% ms% dla db%’), (‘Opóźniony zapis do bazy danych’, ‘% avg%’), (‘Opóźnienie nagrywania i bazy danych’,’% ostatniego niespełnionego celu:% avgWriteLatency% ‘), („Błąd zapisu do bazy danych, dysk pełny”, „Nie można przypisać%”), (‘Błąd łączenia z bazą danych’, ‘% Błąd łączenia%’), („Uruchamianie programu SQL Server”, „Uruchamianie programu SQL Server%”)wstaw do @errorlogexec sp_readerrorlog 0- Uzyskaj wpisy dziennika błędów zgodne z harmonogramem (na przykład)wstaw, aby stać się @notifiable_errorsWybierz e.LogDate, e.ProcessInfo, e.Text, c.error_category.oferowane przez @errorlog AS eZastosuj zagięcie (Wybierać *oferowane przez @errorlog_definition AS e dwhere.Text biorąc pod uwagę, że d.error_pattern) AS cgdzie LogDate> DATEADD (MINUTA, [bezpieczna poczta e-mail] , GETDATE ())- Kiedy linie płyną bezsprzecznie w procesiejeśli @@ ROWCOUNT> 0rozpocząćZADEKLARUJ @logdate @processInfo datetimeZADEKLARUJ Varchara (32)DECLARE @Text varchar (MAX)ZADEKLARUJ @error_category varchar (150)ZADEKLARUJ KURSORA category_cursor DLAwybierz unikalną kategorię_błęduoferowane przez @notifiable_errorsOTWÓRZ kategorię_kursoraWIĘCEJ Z category_cursor IN @error_categoryDURING @@ FETCH_STATUS jest równy 2ROZPOCZĄĆ- Pętle 1 kategoria czasowa- Identyfikacja e-maila + nagłówek tabeli HTMLSELECT @object to @ error_category + ‘- Ostatni’ + konwertuj (varchar (50), @ CheckPeriodInMinute) + ‘Minimum (‘ + konwertuj (varchar (maks), @@ nazwa_serwera) + ‘)’SELECT @ [chroniony adres poczty elektronicznej] _header + ‘

    [chroniony adres e-mail s e-mail] _kategoria + ‘(ostatni’ + Konwertuj ( varchar (50), @ CheckPeriodInMinute) + ‘min)

    ‘PROSZĘ WYBIERZ @ [bezpieczny adres e-mail] + ‘

    Data Logu Informacje o procesie Tekst

    ‘- —– Kursor: zdobądź kilka wpisów dla aktualnej kategorii- Twórz wspólne wiersze HTML- —-DECLARE CURSOR error_cursor FORwybierz LogDate, ProcessInfo, Textoferowane przez @notifiable_errorsgdzie kategoria_błędu = @kategoria_błęduOTWÓRZ kursor_błęduPOBIERZ WIĘCEJ OD error_cursor IN @logdate, @processInfo, @TextUNTIL @@ FETCH_STATUS oznacza 0ROZPOCZĄĆ- wiersze tabeli HTMLselect @HTML_part = ‘

    ‘ + isnull (convert (varchar, @ logdate, 120), ”) + ‘ ‘ + isnull (@processInfo, ”) + ‘< / td>

    ‘+ isnull (@Tekst,’ ‘) +’

    ‘zainstaluj @ [zabezpieczenia poczty e-mail] [zabezpieczenia poczty e-mail] _część + ”UZYSKAJ WIĘCEJ Z error_cursor IN @logdate, @processInfo, @Text;KOŃCZYĆ SIĘZAMKNIJ kursor_błęduDEALLOCATE error_cursor- Wyślij koniec tabeli HTML + e-mailzainstaluj w [email chroniony] + ‘

    [bezpieczny adres e-mail] _stopkaEXEC msdb.dbo.sp_send_dbmail@ nazwa_profilu oznacza „Profil_DBA”, – Temat = @obiekt, @recipients oznacza „ [poczta e-mail jest zwykle chroniona] ”, @ body_format = ‘HTML’, @body implikuje @HTMLPOBIERZ OBSERWACJI Z category_cursor DO @error_category;KOŃCZYĆ SIĘZAMKNIJ kategorię_kursorDEALLOCATE category_cursorKoniec

    Przykładowe litery

    Wniosek

    sql webserver error e-mail

    Wadą tego podejścia jest to, że muszę dokładnie wiedzieć, o czym chcę być powiadamiany przez e-mail. Jeśli nie używam aktualizacji statusu agenta, jest kilka krytycznych błędów, które muszę zignorować.
    Wspaniałą rzeczą jest to, że być może szukam informacji, a nie tylko błędów.
    Mam nadzieję, że uznałeś to za interesujące i zasugerowałem, jak uzyskać informacje o swoich problemach z SQL Server.

    e-mail dziennika błędów serwera sql

     

     

    Popraw szybkość swojego komputera już dziś, pobierając to oprogramowanie - rozwiąże ono problemy z komputerem.

     

     

     

    Troubleshoot SQL Server Error Log Email
    Problemen Met E-mail Met SQL Server-foutlogboek Oplossen
    Solução De Problemas De E-mail De Log De Erros Do SQL Server
    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