Dzienniki odnoszą się do serii rekordów utworzonych przez aplikację w celu opisania szczegółów zdarzeń i działań wykonanych przez aplikację. Prawie wszystkie aplikacje wdrażają mechanizm rejestrowania, który pomaga programistom i użytkownikom w rozwiązywaniu problemów, które mogą się pojawić.
Jak można się domyślić, SQL Server zapewnia nam dzienniki, które pozwalają nam śledzić i rozwiązywać problemy, które występują na serwerze. W niektórych przypadkach możesz użyć dzienników SQL Server, aby odzyskać po awarii bazy danych.
W tym samouczku omówiono, w jaki sposób możesz użyć procedury przechowywanej SP_Readerrorlog do odczytania dzienników utworzonych przez SQL Server i Agent SQL Server Agent.
Składnia procedury SP_Readerrorlogs ()
Poniżej pokazuje składnię procedury przechowywanej SP_Readerrorlog na serwerze SQL:
SP_READERRORLOGZaakceptowane argumenty
Procedura przyjmuje następujące argumenty zdefiniowane w podanej składni:
Następnie funkcja zwraca zawartość dziennika błędów, pasując do określonego wzoru.
SQL Server tworzy dziennik błędów dla każdej instancji, w którym serwer jest uruchamiany. Dzienniki błędów nazywane są ErrorLog1, ErrorLog2, ErrorLog3 itp.
Przykładowe użycie:
Poniższe przykłady pokazują, w jaki sposób możemy użyć procedury przechowywanej SP_Readerrorlog do odczytania dostępnych dzienników.
Za pomocą SP_Readerrorlog () do odczytania bieżącego dziennika błędów
Poniższy przykład używa SP_READERRORLOG () do odczytania bieżącego dziennika błędu:
exec sp_readerrorlog;Bez parametrów poprzednie zapytanie zwraca bieżący dziennik błędów dla serwera SQL.
Przykładowe dane wyjściowe jest następujące:
Za pomocą SP_Readerrorlog () do odczytania błędu w określonym indeksie
Aby odczytać ErrorLog3 dla SQL Server, możemy uruchomić zapytanie w następujący sposób:
EXEC SP_READERRORLOG 3, 1;W takim przypadku procedura powinna zwrócić zawartość pliku ERRORLOLOG3 dla serwera SQL.
Znajdź dziennik z określonym ciągiem
Aby filtrować dzienniki za pomocą określonego ciągu, możemy uruchomić następujące zapytanie:
exec sp_readerrorlog 5, 1, „początek”, „master”;W takim przypadku poprzednie zapytanie powinno zwrócić dzienniki, gdy uruchomi się główna baza danych. Przykładowe dane wyjściowe jest jak pokazano następująco:
LogDate | procesinfo | tekst |Wniosek
W tym artykule nauczyłeś się, jak korzystać z procedury przechowywanej SQL Server SP_Readerrorlog do odczytania dzienników błędów na serwerze SQL.
Dziękuje za przeczytanie!