Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Vytvoří výstrahu.
Syntaxe
sp_add_alert [ @name = ] N'name'
[ , [ @message_id = ] message_id ]
[ , [ @severity = ] severity ]
[ , [ @enabled = ] enabled ]
[ , [ @delay_between_responses = ] delay_between_responses ]
[ , [ @notification_message = ] N'notification_message' ]
[ , [ @include_event_description_in = ] include_event_description_in ]
[ , [ @database_name = ] N'database_name' ]
[ , [ @event_description_keyword = ] N'event_description_keyword' ]
[ , { [ @job_id = ] job_id | [ @job_name = ] N'job_name' } ]
[ , [ @raise_snmp_trap = ] raise_snmp_trap ]
[ , [ @performance_condition = ] N'performance_condition' ]
[ , [ @category_name = ] N'category_name' ]
[ , [ @wmi_namespace = ] N'wmi_namespace' ]
[ , [ @wmi_query = ] N'wmi_query' ]
[ ; ]
Argumenty
[ @name = ] N'název'
Název výstrahy. Jméno se zobrazí v e-mailové nebo stránkové zprávě odeslané v reakci na výstrahu. Musí být jedinečný a může obsahovat znak procenta (%).
@name je sysname bez výchozího nastavení.
[ @message_id = ] message_id
Číslo chyby zprávy, které definuje výstrahu. (Obvykle odpovídá chybě v sysmessages tabulce.) @message_id je int, s výchozím nastavením 0. Pokud @severity slouží k definování výstrahy, @message_id musí být 0 nebo NULL.
Odeslání výstrahy může způsobit pouze sysmessages chyby zapsané do protokolu aplikací systému Microsoft Windows.
[ @severity = ] závažnost
Úroveň závažnosti (od 1 ) 25, která definuje výstrahu.
@severity je int, s výchozím nastavením 0. Jakákoli zpráva SQL Serveru uložená v sysmessages tabulce odeslané do protokolu aplikace systému Windows s uvedenou závažností způsobí odeslání výstrahy. Pokud @message_id slouží k definování výstrahy, @severity musí být 0.
[ @enabled = ] povoleno
Označuje aktuální stav výstrahy.
@enabled je tinyint s výchozím nastavením 1 (povoleno). Pokud 0není upozornění povolené a neaktivuje se.
[ @delay_between_responses = ] delay_between_responses
Doba čekání v sekundách mezi odpověďmi na výstrahu.
@delay_between_responses je int s výchozím nastavením 0, což znamená, že mezi odpověďmi nečeká (každý výskyt výstrahy vygeneruje odpověď). Odpověď může být v obou těchto formách:
- Jedno nebo více oznámení odesílaných prostřednictvím e-mailu nebo pageru
- Úloha, která se má provést
Nastavením této hodnoty je možné zabránit například tomu, aby se neposílaly nežádoucí e-mailové zprávy, když se výstraha opakovaně vyskytuje v krátkém časovém intervalu.
[ @notification_message = ] N'notification_message'
Volitelná další zpráva odeslaná operátorovi jako součást e-mailu nebo net sendoznámení pager.
@notification_message je nvarchar(512) s výchozím nastavením NULL. Zadání @notification_message je užitečné pro přidání zvláštních poznámek, jako jsou nápravné postupy.
[ @include_event_description_in = ] include_event_description_in
Zda má být součástí oznámení popis chyby SQL Serveru.
@include_event_description_in je tinyint, s výchozím nastavením 5 (e-mail a net send) a může mít jednu nebo více těchto hodnot v kombinaci s logickým operátorem OR .
Důležité
Pager a net send možnosti budou z agenta SQL Serveru odebrány v budoucí verzi SQL Serveru. Vyhněte se používání těchto funkcí v nové vývojové práci a naplánujte úpravu aplikací, které tyto funkce aktuálně používají.
| Hodnota | Popis |
|---|---|
0 |
Žádný |
1 |
|
2 |
Pager |
4 |
net send |
[ @database_name = ] N'database_name'
Databáze, ve které k chybě musí dojít, aby se výstraha aktivovalo. Pokud @database_name není zadán, upozornění se aktivuje bez ohledu na to, kde došlo k chybě.
@database_name je sysname , s výchozím NULL. Názvy, které jsou uzavřeny v hranatých závorkách ([ ]), nejsou povolené.
[ @event_description_keyword = ] N'event_description_keyword'
Posloupnost znaků, které musí být nalezeny v popisu chyby SQL Serveru v protokolu chybových zpráv.
@event_description_keyword je nvarchar(100), s výchozí hodnotou NULL. Tento parametr je užitečný pro filtrování názvů objektů (například customer_table).
Poznámka:
LIKETransact-SQL znaky porovnávání vzorů výrazů se nedají použít.
[ @job_id = ] job_id
Identifikační číslo úlohy, která se má spustit v reakci na tuto výstrahu.
@job_id je uniqueidentifier s výchozím NULL.
Je nutné zadat @job_id nebo @job_name, ale obojí nelze zadat.
[ @job_name = ] N'job_name'
Název úlohy, která se má spustit v reakci na tuto výstrahu.
@job_name je sysname , s výchozím NULL.
Je nutné zadat @job_id nebo @job_name, ale obojí nelze zadat.
[ @raise_snmp_trap = ] raise_snmp_trap
Není implementováno v SYSTÉMU SQL Server verze 7.0.
@raise_snmp_trap je tinyint, s výchozím nastavením 0.
[ @performance_condition = ] N'performance_condition'
Hodnota vyjádřená ve formátu ItemComparatorValue.
@performance_condition je nvarchar(512) s výchozím nastavením NULLa skládá se z těchto prvků.
| Format – element | Popis |
|---|---|
| Položka | Objekt výkonu, čítač výkonu nebo pojmenovaná instance čítače. |
| Komparátor | Jeden z těchto operátorů: >, <nebo =. |
| Hodnota | Číselná hodnota čítače. |
[ @category_name = ] N'category_name'
Název kategorie upozornění.
@category_name je sysname, s výchozím nastavením NULL.
[ @wmi_namespace = ] N'wmi_namespace'
Obor názvů rozhraní WMI, který se má dotazovat na události.
@wmi_namespace je sysname s výchozím nastavením NULL. Podporují se jenom obory názvů na místním serveru.
[ @wmi_query = ] N'wmi_query'
Dotaz, který určuje událost rozhraní WMI pro výstrahu.
@wmi_query je nvarchar(512) s výchozím nastavením NULL.
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Sada výsledků
Žádné.
Poznámky
sp_add_alert musí být spuštěna z databáze msdb.
Jedná se o okolnosti, za kterých se do protokolu aplikací systému Windows odesílají chyby a zprávy generované sql Serverem a aplikacemi SYSTÉMU SQL Server, a proto mohou vyvolat výstrahy:
- Chyby závažnosti 19 nebo vyšší
sys.messages - Libovolný
RAISERRORpříkaz vyvolaný syntaxíWITH LOG - Jakákoli
sys.messageschyba změněná nebo vytvořená pomocísp_altermessage - Jakákoli událost protokolovaná pomocí
xp_logevent
SQL Server Management Studio poskytuje snadný, grafický způsob správy celého systému výstrah a je doporučeným způsobem konfigurace infrastruktury výstrah.
Pokud upozornění nefunguje správně, zkontrolujte, jestli:
Služba agenta SQL Serveru je spuštěná.
Událost se objevila v protokolu aplikací pro Windows.
Výstraha je povolená.
Události vygenerované s
xp_logeventnastanou v databázimaster. Proto neaktivuje výstrahu,xp_logeventpokud není @database_name pro výstrahumasterneboNULL.
Dovolení
Ve výchozím nastavení mohou provádět pouze členové sp_add_alert pevné role serveru .
Příklady
Příklad 1 – Přidání upozornění pro úlohu
Následující příklad přidá výstrahu (testovací výstrahu Back up the AdventureWorks2022 Database ), která spustí úlohu při spuštění.
Poznámka:
Tento příklad předpokládá, že zpráva 55001 a Back up the AdventureWorks2022 Database úloha již existují. Příklad je zobrazen pouze pro ilustrativní účely.
USE msdb;
GO
EXECUTE 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 AdventureWorks2022 Database';
GO
Příklad 2 – Přidání výstrahy pro prahovou hodnotu replikace
Následující příklad přidá upozornění, které vás upozorní, když transakce replikace překročila prahovou hodnotu latence:
EXECUTE msdb.dbo.sp_add_alert
@name = N'Replication Warning: Transactional replication latency (Threshold: latency)',
@message_id = 14161,
@severity = 0,
@enabled = 1,
@delay_between_responses = 30,
@include_event_description_in = 5,
@category_name = N'Replication',
@job_id = N'00000000-0000-0000-0000-000000000000';
GO
Související obsah
- sp_add_notification (Transact-SQL)
- sp_altermessage (Transact-SQL)
- sp_delete_alert (Transact-SQL)
- sp_help_alert (Transact-SQL)
- sp_update_alert (Transact-SQL)
- sys.sysperfinfo (Transact-SQL)
- uložené procedury systému (Transact-SQL)