Monitorowanie zdarzeń i reagowanie na nie
Dotyczy:programu SQL Server
Azure SQL Managed Instance
Ważny
W usłudze Azure SQL Managed Instanceobecnie obsługiwana jest większość, ale nie wszystkie, funkcje agenta programu SQL Server. Aby uzyskać szczegółowe informacje, zobacz Różnice języka T-SQL usługi Azure SQL Managed Instance z programu SQL Server.
Program SQL Server Agent może monitorować i automatycznie reagować na zdarzenia , takie jak komunikaty z programu SQL Server, określone warunki wydajności i zdarzenia instrumentacji zarządzania Windows (WMI).
W tej sekcji
alertów
Zawiera informacje o nazewnictwie alertu i wybieraniu zdarzeń lub warunków wydajności, na które odpowiadają alerty.
tworzenie User-Defined zdarzenia
Zawiera informacje o sposobie tworzenia zdarzeń innych niż te, które są wstępnie zdefiniowane przez program SQL Server.
Operatory
Zawiera informacje o tworzeniu aliasów dla administratorów, których program SQL Server Agent może używać do wysyłania powiadomień, gdy zadania kończą się niepowodzeniem lub powodzeniem.
Informacje o monitorowaniu i reagowaniu na zdarzenia
Automatyczne odpowiedzi na zdarzenia są nazywane alertami . Możesz zdefiniować alert dotyczący co najmniej jednego zdarzenia, aby określić sposób reagowania agenta programu SQL Server na ich wystąpienie. Alert może odpowiedzieć na zdarzenie, powiadamiając administratora lub uruchamiając zadanie albo oba te elementy. Alert może również przekazać zdarzenie do dziennika aplikacji systemu Microsoft Windows na innym komputerze. Można na przykład określić, że operator zostanie powiadomiony natychmiast, jeśli wystąpi zdarzenie o ważności 19. Dzięki zdefiniowaniu alertów administratorzy baz danych mogą efektywniej monitorować program SQL Server i zarządzać nim.
Agent programu SQL Server odpowiada tylko na zdarzenia, dla których zdefiniowano alert. Metoda używana przez program SQL Server Agent do monitorowania zdarzeń zależy od typu zdarzenia.
Po zdefiniowaniu alertu dla licznika wydajności, agent programu SQL Server bezpośrednio monitoruje ten licznik. W przypadku zdarzenia usługi WMI agent programu SQL Server rejestruje zapytanie o zdarzenie usługi WMI.
Aby odpowiedzieć na komunikaty z programu SQL Server, program SQL Server Agent monitoruje dziennik aplikacji systemu Windows. Agent programu SQL Server może odpowiadać tylko na komunikaty wyświetlane w tym dzienniku. Domyślnie program SQL Server rejestruje następujące komunikaty w dzienniku aplikacji systemu Windows:
Ważność 19 lub więcej błędów sysmessages.
Jeśli chcesz również rejestrować określone błędy sysmessages, które mają istotność niższą niż 19, użyj procedury składowanej sp_altermessage, aby wyznaczyć takie błędy jako "zawsze rejestrowane".
Każda instrukcja RAISERROR wywoływana przy użyciu składni WITH LOG.
Używanie RAISERROR WITH LOG jest zalecanym sposobem na zapisywanie do dziennika aplikacji systemu Windows z instancji SQL Server.
Każde zdarzenie aplikacji zarejestrowane przy użyciu xp_logevent.
Notatka
Rejestrowanie zdarzeń aplikacji zużywa miejsce dziennika i może spowodować przekroczenie maksymalnego rozmiaru dziennika aplikacji systemu Windows. Upewnij się, że maksymalny rozmiar dziennika aplikacji systemu Windows jest wystarczająco duży, aby uniknąć utraty informacji o zdarzeniach programu SQL Server.
Gdy program SQL Server rejestruje komunikat, usługa SQL Server Agent porównuje komunikat z alertami zdefiniowanymi przez administratora programu SQL Server.
Niezależnie od źródła zdarzenia usługa SQL Server Agent odpowiada na zdarzenie, wykonując zadania określone w alercie dla zdarzenia.