Sdílet prostřednictvím


Upozornění agenta SQL Serveru

platí pro:SQL Server

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 oproti SQL Serveru nebo omezení úloh agenta SQL ve službě SQL Managed Instance.

Události vygenerované SQL Serverem se zadávají do protokolu aplikací systému Windows. Agent SQL Serveru čte protokol aplikace a porovnává události napsané tam s výstrahami, které definujete.

Když agent SQL Serveru najde shodu, aktivuje výstrahu, což je automatizovaná odpověď na událost. Kromě monitorování událostí SQL Serveru může agent SQL Serveru monitorovat také podmínky výkonu a události služby WMI (Windows Management Instrumentation).

Pokud chcete definovat výstrahu, zadáte:

  • Název výstrahy.
  • Událost nebo podmínka výkonu, která aktivuje výstrahu.
  • Akce, kterou agent SQL Serveru přijme v reakci na událost nebo podmínku výkonu.

Pojmenování výstrahy

Každá výstraha musí mít název. Názvy výstrah musí být jedinečné v rámci instance SQL Serveru a nesmí být delší než 128 znaků.

Výběr typu události

Výstraha reaguje na událost určitého typu. Výstrahy reagují na následující typy událostí:

  • Události SQL Serveru
  • Podmínky výkonu SQL Serveru
  • Události služby WMI (Windows Management Instrumentation)

Typ události určuje parametry, které použijete k určení přesné události.

Zadání události SQL Serveru

Můžete zadat výstrahu, která se má objevit v reakci na jednu nebo více událostí. K určení událostí, které aktivují výstrahu, použijte následující parametry:

  • Číslo chyby: Agent SQL Serveru aktivuje výstrahu, když dojde k určité chybě. Můžete například zadat číslo chyby 2571, aby reagovalo na neoprávněné pokusy o vyvolání příkazů databázové konzoly (DBCC).

  • Úroveň závažnosti: Agent SQL Serveru aktivuje výstrahu, když dojde k jakékoli chybě konkrétní závažnosti. Můžete například zadat úroveň závažnosti 15, která bude odpovídat na chyby syntaxe v příkazech Transact-SQL.

  • Databáze: Agent SQL Serveru aktivuje výstrahu pouze v případě, že dojde k události v konkrétní databázi. Tato možnost se vztahuje kromě čísla chyby nebo úrovně závažnosti. Pokud například instance SQL Serveru obsahuje jednu databázi používanou pro produkční prostředí a jednu databázi, která se používá k vytváření sestav, můžete definovat výstrahu, která reaguje pouze na chyby syntaxe v produkční databázi.

  • Text události: Agent SQL Serveru aktivuje výstrahu, když zadaná událost obsahuje konkrétní textový řetězec ve zprávě události. Můžete například definovat výstrahu, která reaguje na zprávy, které obsahují název konkrétní tabulky nebo konkrétní omezení.

Výběr podmínky výkonu

Můžete zadat výstrahu, která se má objevit v reakci na konkrétní podmínku výkonu. V tomto případě zadáte čítač výkonu, který se má monitorovat, prahovou hodnotu pro výstrahu a chování, které musí čítač zobrazit, pokud má dojít k upozornění. Chcete-li nastavit podmínku výkonu, je nutné definovat následující položky na stránce agenta SQL Serveru Obecné v dialogovém okně Nová výstraha nebo Vlastnosti výstrahy:

  • Objekt: Objekt je oblast výkonu, která se má monitorovat.

  • Čítač: Čítač je atribut oblasti, která se má monitorovat.

  • Instance: Instance SQL Serveru definuje konkrétní instanci (pokud existuje) atributu, který se má monitorovat.

  • upozornění, pokud čítač a hodnota

    Prahová hodnota pro výstrahu a chování, které výstrahu vytvoří. Prahová hodnota je číslo. Toto chování je jedním z následujícího: spadá pod, se rovná, nebo stoupá nad číslo zadané pro hodnotu. Hodnota je číslo, které popisuje čítač výkonových podmínek. Například pokud chcete nastavit výstrahu pro objekt výkonu SQLServer:Locks, když doba čekání na uzamčení překročí 30 minut, zvolíte překročí a zadáte hodnotu 30.

    Jako další příklad můžete určit, že se pro objekt výkonu SQLServer:Transactions objeví výstraha , když volné místo klesne tempdb pod 1 000 kB. Chcete-li nastavit tuto hodnotu, přejděte na čítač Volné místo v databázi tempdb (KB), vyberte níže a zvolte hodnotu1000.

    Data o výkonu se pravidelně vzorkují, což může vést k malému zpoždění (několik sekund) mezi dosažením prahové hodnoty a výskytem upozornění na výkon.

    Proměnná protokolu událostí, která ukládá název serveru, je omezená na 32 znaků. Proto pokud je kombinovaná velikost názvu hostitele a názvu instance větší než 32 znaků, může se zobrazit následující chyba:

    Warning,[466] Failed to copy server name LONGNAMESQLSERV\LONGINSTANCENAME while generating performance counter alerts.
    

Vyberte událost WMI

Můžete určit, že se výstraha vyskytuje v reakci na konkrétní událost rozhraní WMI. Chcete-li vybrat událost rozhraní WMI, je nutné definovat následující položky na stránce agenta SQL Serveru Obecné v dialogovém okně Nová výstraha nebo Vlastnosti výstrahy:

  • Obor názvů: Agent SQL Serveru se registruje jako klient služby WMI do oboru názvů služby WMI, který je k dispozici pro dotazování na události.

  • Dotaz: Agent SQL Serveru používá příkaz WQL (Windows Management Instrumentation Query Language) k identifikaci konkrétní události.

Činnost SQL Server Management Studio Transact-SQL
Vytvoření upozornění na základě čísla zprávy Vytvoření výstrahy pomocí čísla chyby sp_add_alert
Vytvoření výstrahy na základě úrovní závažnosti Vytvoření výstrahy pomocí úrovně závažnosti sp_add_alert
Vytvoření výstrahy na základě události rozhraní WMI Vytvoření upozornění na událost rozhraní WMI sp_add_alert
Definování odpovědi na výstrahu Definování odpovědi na výstrahu sp_add_notification
Vytvořte chybovou zprávu události definované uživatelem sp_addmessage
Úprava chybové zprávy události definované uživatelem sp_altermessage
Odstranění chybové zprávy události definované uživatelem sp_dropmessage
Zakázání nebo opětovná aktivace výstrahy Zakázání nebo opětovná aktivace výstrahy sp_update_alert