Vytvořte upozornění na událost rozhraní WMI
platí pro:SQL Server
azure SQL Managed Instance
Důležitý
Na Azure SQL Managed Instance, většina, ale ne všechny funkce agenta SQL Serveru jsou aktuálně podporované. Podrobnosti najdete v tématu rozdíly T-SQL služby Azure SQL Managed Instance od SQL Serveru.
Tento článek popisuje, jak nastavit upozornění agenta SQL Serveru, které se vyvolá při specifické události SQL Serveru monitorované poskytovatelem WMI pro události serveru, a to pomocí aplikace SQL Server Management Studio nebo Transact-SQL.
Informace o použití zprostředkovatele rozhraní WMI k monitorování událostí SYSTÉMU SQL Server naleznete v tématu Zprostředkovatele rozhraní WMI třídy a vlastnosti serveru. Informace o oprávněních potřebných k příjmu oznámení výstrah událostí služby WMI naleznete v tématu Vyberte účet pro službu agenta SYSTÉMU SQL Server. Další informace o jazyce WQL naleznete v tématu Použití jazyka WQL se zprostředkovatelem WMI pro serverové události.
Omezení a limitace
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.
Události vygenerované s
xp_logevent
nastanou v databázimaster
. Protoxp_logevent
neaktivuje výstrahu, pokud@database_name
pro výstrahu není'master'
nebo NULL.Podporují se jenom obory názvů služby WMI na počítači, na kterém běží agent SQL Server.
Dovolení
Ve výchozím nastavení mohou provádět sp_add_alert
pouze členové role správce systému pevné role serveru .
Použití aplikace SQL Server Management Studio
V průzkumníku objektů výběrem znaménka plus rozbalte server, na kterém chcete vytvořit upozornění na událost WMI.
Vyberte znaménko plus a rozbalte agenta SQL Serveru.
Klikněte pravým tlačítkem na Výstrahy a vyberte Nová výstraha.
V dialogovém okně Nová výstraha zadejte do pole Název název této výstrahy.
Zaškrtněte políčko Povolit, abyste povolili spuštění výstrahy. Ve výchozím nastavení je zaškrtnuté políčko Povolit.
V seznamu Typ vyberte upozornění na událost WMI.
V definici výstrahy události WMI zadejte v poli Namespace obor názvů WMI pro příkaz jazyka WMI Query Language (WQL), který identifikuje událost WMI aktivující tuto výstrahu.
Do pole Dotaz zadejte příkaz WQL, který identifikuje událost, na kterou tato výstraha reaguje.
Vyberte OK.
Použij Transact-SQL
V Průzkumníku objektůse připojte k instanci databázového stroje.
Na panelu Standard vyberte Nový dotaz.
Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit.
USE msdb; GO EXEC dbo.sp_add_alert @name = N'Test Alert 2', @message_id = 54001, @notification_message = N'Error 54001 has occurred on the Sales.SalesOrderDetail table on the AdventureWorks2022 database.', @wmi_namespace = '\.\root\Microsoft\SqlServer\ServerEvents', @wmi_query = N'SELECT * FROM ALTER_TABLE WHERE DatabaseName = ''AdventureWorks2022'' AND SchemaName = ''Sales'' AND ObjectType=''Table'' AND ObjectName = ''SalesOrderDetail'''; GO