Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:programu SQL Server
Ważne
W Azure SQL Managed Instance większość, ale nie wszystkie funkcje agenta programu SQL Server są obecnie obsługiwane. Aby uzyskać szczegółowe informacje, zobacz różnice języka T-SQL usługi Azure SQL Managed Instance z programu SQL Server lub ograniczenia zadań agenta SQL w usłudze SQL Managed Instance.
Zdarzenia generowane przez program SQL Server są wprowadzane do dziennika aplikacji systemu Windows. Program SQL Server Agent odczytuje dziennik aplikacji i porównuje zdarzenia zapisywane tam z zdefiniowanymi alertami.
Gdy program SQL Server Agent znajdzie dopasowanie, wyzwala alert, który jest automatyczną odpowiedzią na zdarzenie. Oprócz monitorowania zdarzeń programu SQL Server agent programu SQL Server może również monitorować warunki wydajności i zdarzenia instrumentacji zarządzania Windows (WMI).
Aby zdefiniować alert, należy określić:
- Nazwa alertu.
- Zdarzenie lub warunek wydajności wyzwalający alert.
- Akcja wykonywana przez program SQL Server Agent w odpowiedzi na zdarzenie lub warunek wydajności.
Nadaj nazwę alertowi
Każdy alert musi mieć nazwę. Nazwy alertów muszą być unikatowe w ramach wystąpienia programu SQL Server i nie mogą być dłuższe niż 128 znaków.
Wybierz typ zdarzenia
Alert odpowiada na zdarzenie określonego typu. Alerty odpowiadają na następujące typy zdarzeń:
- Zdarzenia programu SQL Server
- Warunki wydajności programu SQL Server
- Zdarzenia Instrumentacja zarządzania Windows (WMI)
Typ zdarzenia określa parametry używane do określenia dokładnego zdarzenia.
Określanie zdarzenia programu SQL Server
Możesz określić alert, który ma wystąpić w odpowiedzi na co najmniej jedno zdarzenie. Użyj następujących parametrów, aby określić zdarzenia wyzwalające alert:
Numer błędu: Agent programu SQL Server uruchamia alert po wystąpieniu określonego błędu. Można na przykład określić numer błędu 2571, aby odpowiedzieć na nieautoryzowane próby wywołania poleceń konsoli bazy danych (DBCC).
Poziom ważności: agent programu SQL Server wyzwala alert, gdy wystąpi dowolny błąd o określonej ważności. Można na przykład określić poziom istotności 15, aby odpowiedzieć na błędy składniowe w instrukcjach Transact-SQL.
Baza danych: agent programu SQL Server uruchamia alert tylko wtedy, gdy zdarzenie występuje w określonej bazie danych. Ta opcja jest stosowana oprócz numeru błędu lub poziomu jego powagi. Jeśli na przykład wystąpienie programu SQL Server zawiera jedną bazę danych używaną do produkcji, a jedną bazę danych używaną do raportowania, można zdefiniować alert, który odpowiada tylko na błędy składni w produkcyjnej bazie danych.
Tekst zdarzenia: agent programu SQL Server wyzwala alert, gdy określone zdarzenie zawiera określony ciąg tekstowy w komunikacie zdarzenia. Można na przykład zdefiniować alert, który odpowiada na komunikaty zawierające nazwę określonej tabeli lub określone ograniczenie.
Wybierz warunek wydajności
Możesz określić alert, który ma wystąpić w odpowiedzi na określony warunek wydajności. W takim przypadku należy określić licznik wydajności do monitorowania, próg alertu i zachowanie, które licznik musi pokazać, czy alert ma wystąpić. Aby ustawić warunek wydajności, należy zdefiniować następujące elementy na stronie Ogólne agenta programu SQL Server w oknie dialogowym Nowe alerty lub Właściwości alertu :
Obiekt: obiekt jest obszarem wydajności, który ma być monitorowany.
Licznik: licznik jest atrybutem obszaru, który ma być monitorowany.
Wystąpienie: Instancja SQL Server definiuje szczególne wystąpienie atrybutu do monitorowania, jeśli istnieje.
Alert w przypadku licznika i wartości
Próg alertu i zachowanie, które generuje alert. Próg jest liczbą. Zachowanie jest jednym z następujących: poniżej, staje się równe lub wzrasta powyżej liczby określonej dla wartości. Wartość to liczba, która opisuje licznik warunków wydajności. Na przykład aby ustawić alert, który ma wystąpić dla obiektu wydajności SQLServer:Locks , gdy czas oczekiwania blokady przekracza 30 minut, należy wybrać wzrost powyżej i określić wartość 30 jako wartość.
W innym przykładzie można określić, że dla obiektu wydajności SQLServer:Transactions wystąpi alert, gdy wolne miejsce spadnie
tempdbponiżej 1000 KB. Aby ustawić tę wartość, przejdź do licznika Wolne miejsce w bazie danych tempdb (KB), wybierz pozycję poniżej i wybierz wartość .1000Dane wydajności są okresowo próbkowane, co może prowadzić do małego opóźnienia (kilka sekund) między osiągnięciem progu a wystąpieniem alertu wydajności.
Zmienna dziennika zdarzeń, która przechowuje nazwę serwera, jest ograniczona do 32 znaków. W związku z tym, jeśli łączny rozmiar nazwy hosta i nazwy wystąpienia jest większy niż 32 znaki, może wystąpić następujący błąd:
Warning,[466] Failed to copy server name LONGNAMESQLSERV\LONGINSTANCENAME while generating performance counter alerts.
Wybierz zdarzenie WMI
Możesz określić, że alert występuje w odpowiedzi na określone zdarzenie usługi WMI. Aby wybrać zdarzenie WMI, należy zdefiniować następujące elementy na stronie Ogólne agenta programu SQL Server w oknie dialogowym Nowe alerty lub Właściwości alertu :
Przestrzeń nazw: Agent serwera SQL Server rejestruje się jako klient WMI w przestrzeni nazw WMI, która jest używana do wykonywania zapytań o zdarzenia.
Zapytanie: Agent programu SQL Server używa instrukcji Windows Management Instrumentation Query Language (WQL) do zidentyfikowania określonego zdarzenia.
Powiązane zadania
| Akcja | SQL Server Management Studio | Transact-SQL |
|---|---|---|
| Tworzenie alertu na podstawie numeru komunikatu | Tworzenie alertu przy użyciu numeru błędu | sp_add_alert |
| Tworzenie alertu na podstawie poziomów ważności | Tworzenie alertu przy użyciu poziomu ważności | sp_add_alert |
| Tworzenie alertu na podstawie zdarzenia WMI | Utwórz alert zdarzenia WMI | sp_add_alert |
| Definiowanie odpowiedzi na alert | Definiowanie odpowiedzi na alert | sp_add_notification |
| Tworzenie komunikatu o błędzie zdarzenia zdefiniowanego przez użytkownika | sp_addmessage | |
| Modyfikowanie komunikatu o błędzie zdarzenia zdefiniowanego przez użytkownika | sp_altermessage | |
| Usuwanie komunikatu o błędzie zdarzenia zdefiniowanego przez użytkownika | sp_dropmessage | |
| Wyłączanie lub ponowne aktywowanie alertu | Wyłączanie lub ponowne aktywowanie alertu | sp_update_alert |