sp_add_alert (języka Transact-SQL)
Tworzy alert.
Składnia
sp_add_alert [ @name = ] 'name'
[ , [ @message_id = ] message_id ]
[ , [ @severity = ] severity ]
[ , [ @enabled = ] enabled ]
[ , [ @delay_between_responses = ] delay_between_responses ]
[ , [ @notification_message = ] 'notification_message' ]
[ , [ @include_event_description_in = ] include_event_description_in ]
[ , [ @database_name = ] 'database' ]
[ , [ @event_description_keyword = ] 'event_description_keyword_pattern' ]
[ , { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ]
[ , [ @raise_snmp_trap = ] raise_snmp_trap ]
[ , [ @performance_condition = ] 'performance_condition' ]
[ , [ @category_name = ] 'category' ]
[ , [ @wmi_namespace = ] 'wmi_namespace' ]
[ , [ @wmi_query = ] 'wmi_query' ]
Argumenty
[ @name =] 'name'
Nazwa alert.Nazwa pojawia się w wiadomości e-mail lub pager wysłanych w odpowiedzi na alert.Musi być unikatowa i może zawierać procent (%) znaków.namejest sysname, z braku domyślne.[ @ identyfikator_wiadomości = ]message_id
Numer błędu wiadomości definiuje alert.(Zazwyczaj odpowiada numerowi błędu w sysmessages tabela.) message_id is int, with a default of 0.Jeśli severity jest używana do definiowania alert, message_id musi być 0 ani mieć wartości NULL.Ostrzeżenie
Tylko sysmessages błędy w dzienniku aplikacji systemu Microsoft Windows może spowodować, że alert do wysłania.
[ @ ważności =] severity
poziom ważności (z 1 przez 25), definiująca alert.Każdy SQL Server wiadomości są przechowywane w sysmessages tabela wysyłane do Microsoft Dziennik aplikacji systemu Windows z ważności wskazanej powoduje, że alert ma być wysłany.severityjest int, domyślna wartość 0.Jeśli message_id jest używana do definiowania alert, severity musi być 0.[ @ włączone =] enabled
Wskazuje bieżący stan alert.enabledjest tinyint, z domyślnego (włączone) 1.Jeśli 0, alert nie jest włączone i nie ognia.[ @ delay_between_responses =] delay_between_responses
Okres oczekiwania w sekundach między odpowiedzi na alert.delay_between_responsesjest int, domyślnie 0, co oznacza brak nie oczekiwania między odpowiedzi (każde wystąpienie alert generuje odpowiedzi).Odpowiedź może być w jednej lub obu tych formach:Jeden lub więcej powiadomienia wysyłane za pośrednictwem poczty e-mail lub pager.
zadanie do wykonać.
Ustawiając tę wartość, to można na przykład zapobiec niechciane wiadomości e-mail z wysyłane, gdy alert wielokrotnie występuje w krótkim okresie czas.
[ @ notification_message =] 'notification_message"
Jest opcjonalne dodatkowe wiadomości, wysłane do operator poczty e-mail, w ramach polecenia net send, lub pager powiadomienie.notification_messagejest nvarchar(512), domyślna wartość NULL.Określanie notification_message jest przydatne przy dodawaniu uwagi specjalne, takie jak procedury naprawcze.[ @ include_event_description_in =] include_event_description_in
Jest czy opis SQL Server Błąd powinny być dołączone jako część powiadomienie .include_event_description_in* *jest tinyint, domyślnie 5 (wiadomości e-mail i polecenia net send) i może mieć jeden lub więcej z tych wartości w połączeniu z lub operatorlogiczny.Ważne:
Pagera i polecenia net send opcje zostaną usunięte z SQL Server agenta w przyszłej wersja programu Microsoft SQL Server.Unikaj używania tych funkcji w nowych prac rozwojowych i plan do modyfikowania aplikacji, które obecnie korzystają z tych funkcji.
Wartość
Opis
0 (wartość domyślna)
Brak
1
Wiadomości e-mail
2
Pager
4
polecenie net send
[ @ nazwa_bazy_danych =] 'database"
Baza danych musi wystąpić błąd, alert na ogień.Jeśli databasenie jest podany, alert fires niezależnie od tego, gdzie wystąpił błąd.databaseis sysname.Nazwy, które są ujęte w nawiasy kwadratowe ([]) nie są dozwolone.Wartością domyślną jest NULL.[ @ event_description_keyword =] 'event_description_keyword_pattern"
Sekwencja znaków, który opis SQL Server Błąd musi być podobne.Transact-SQLPodobnie jak wyrażenie dopasowania do wzorca znaki mogą być używane.event_description_keyword_patternjest nvarchar(100), domyślna wartość NULL.Ten parametr jest użyteczny do filtrowania nazw obiektów (na przykład % customer_table %).[ @ job_id =] job_id
Numer identyfikacyjny zadanie zadanie będzie uruchamiane w odpowiedzi na ten alert.job_idjest uniqueidentifier, domyślna wartość NULL.[ @ job_name =] 'job_name"
Nazwa zadanie do wykonania w odpowiedzi na ten alert.job_namejest sysname, domyślna wartość NULL.Ostrzeżenie
Albo job_id lub job_name musi być określona, ale nie może być jednocześnie określone.
[ @ raise_snmp_trap =] raise_snmp_trap
Nie jest zaimplementowana w SQL Serverwwersja 7.0. raise_snmp_trapjest tinyint, domyślna wartość 0.[ @ performance_condition =] 'performance_condition"
Wartość wyrażona w formacie 'itemcomparatorvalue".performance_conditionjest nvarchar(512) z domyślnej wartości NULL i składa się z tych elementów.Format elementu
Opis
Item
Obiekt wydajności, licznik wydajności lub nazwane wystąpienie tego licznika
Comparator
Jeden z tych operatorów: >, <, or =
Value
Wartość liczbowa licznika
[ @ category_name =] 'category"
Nazwa kategorii alert .categoryjest sysname, domyślna wartość NULL.[ @ wmi_namespace=] 'wmi_namespace"
Obszar nazw WMI kwerendę dla zdarzeń.wmi_namespacejest sysname, domyślna wartość NULL.Obsługiwane są tylko obszary nazw na serwerze lokalnym.[ @ wmi_query=] 'wmi_query"
Kwerenda, która określa WMI zdarzenie dla alert.wmi_queryjest nvarchar(512), domyślna wartość NULL.
Wartości kodów powrotnych
0 (sukces) lub 1 (błąd)
Zestawy wyników
Brak
Uwagi
sp_add_alert należy uruchomić z msdb bazy danych.
Są to okoliczności, w których błędy/komunikaty generowane przez SQL Server i SQL Server aplikacji są wysyłane do dziennika aplikacji systemu Windows i dlatego można podnieść alerty:
Wskaźnik ważności, 19 lub wyższej sys.messages błędów
Wszelkie RAISERROR instrukcja wywoływane z dziennika o składni
Każdy sys.messages błąd zmodyfikowane lub utworzone za pomocą sp_altermessage
Wszystkie zdarzenie rejestrowane za pomocą xp_logevent
SQL Server Management Studiozapewnia łatwe, graficzny sposób zarządzania całego systemu alertów i jest zalecanym sposobem konfigurowania infrastruktury alert .
Jeśli alert nie działa poprawnie, sprawdź, czy:
SQL Server usługa Agent jest uruchomiony.
zdarzenie pojawiły się w dzienniku aplikacji systemu Windows.
alert jest włączona.
Zdarzenia generowane z xp_logevent występują w baza danych master.W związku z tym xp_logevent nie powoduje wyzwolenia alert , chyba że nazwa_bazy_danych @ dla alert jest "głównego" ani mieć wartości NULL.
Uprawnienia
Domyślnie tylko członkowie sysadmin stała rola serwera można wykonać sp_add_alert.
Przykłady
W następującym przykładzie dodano alert (Test Alert) działającą Back up the AdventureWorks2008R2 Database zadanie po opalanych.
Ostrzeżenie
W tym przykładzie zakłada się, że wiadomość 55001 i Back up the AdventureWorks2008R2 Database zadanie już istnieje.Przykład został przedstawiony tylko w celach ilustracyjnych.
USE msdb ;
GO
EXEC dbo.sp_add_alert
@name = N'Test Alert',
@message_id = 55001,
@severity = 0,
@notification_message = N'Error 55001 has occurred. The database will be backed up...',
@job_name = N'Back up the AdventureWorks2008R2 Database' ;
GO