sp_add_alert (języka Transact-SQL)

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żna informacjaWaż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