Megosztás:


SQL Server Agent-riasztások

A következőkre vonatkozik:SQL Server

Fontos

Felügyelt Azure SQL-példányesetében a legtöbb, de jelenleg nem minden SQL Server Agent-funkció támogatott. A részletekért tekintse meg az SQL Server és az Azure SQL Managed Instance közötti T-SQL eltéréseket , vagy az SQL Agent feladatok korlátozásait az Azure SQL Managed Instance esetében .

Az SQL Server által létrehozott események bekerülnek a Windows alkalmazásnaplójába. Az SQL Server Agent beolvassa az alkalmazásnaplót, és összehasonlítja az ott írt eseményeket az Ön által megadott riasztásokkal.

Amikor az SQL Server Agent talál egyezést, riasztást küld, amely egy eseményre adott automatikus válasz. Az SQL Server-események monitorozása mellett az SQL Server Agent a teljesítményfeltételeket és a Windows Management Instrumentation (WMI) eseményeket is figyelheti.

Riasztás definiálásához a következőket kell megadnia:

  • A riasztás neve.
  • A riasztást aktiváló esemény vagy teljesítményfeltétel.
  • Az SQL Server Agent által az eseményre vagy teljesítményre adott válaszként végrehajtott művelet.

Riasztás elnevezése

Minden riasztásnak névvel kell rendelkeznie. A riasztásneveknek egyedinek kell lenniük az SQL Server példányán belül, és legfeljebb 128 karakter hosszúságúak lehetnek.

Eseménytípus kiválasztása

A riasztás egy adott típusú eseményre válaszol. A riasztások a következő eseménytípusokra reagálnak:

  • SQL Server-események
  • SQL Server teljesítményfeltételek
  • A Windows Management Instrumentation (WMI) eseményei

Az esemény típusa határozza meg a pontos esemény megadásához használt paramétereket.

SQL Server-esemény megadása

Megadhat egy riasztást, amely egy vagy több eseményre adott válaszként jelenik meg. A riasztást kiváltó események megadásához használja az alábbi paramétereket:

  • Hibaszám: Az SQL Server-ügynök riasztást küld egy adott hiba esetén. Megadhatja például a 2571-es hibaszámot, hogy válaszoljon az adatbázis-konzolparancsok (DBCC) meghívására tett jogosulatlan kísérletekre.

  • Súlyossági szint: Az SQL Server Agent riasztást küld, ha az adott súlyosság bármilyen hibája jelentkezik. Például megadhat egy 15-ös súlyossági szintet a Transact-SQL kijelentések szintaxishibáinak kezelésére.

  • Adatbázis: Az SQL Server-ügynök csak akkor küld riasztást, ha az esemény egy adott adatbázisban történik. Ez a beállítás a hibaszámon vagy a súlyossági szinten kívül is érvényes. Ha például egy SQL Server-példány egy éles környezetben használt adatbázist és egy jelentéskészítéshez használt adatbázist tartalmaz, megadhat egy riasztást, amely csak az éles adatbázis szintaxishibáira reagál.

  • Eseményszöveg: Az SQL Server-ügynök riasztást küld, ha a megadott esemény egy adott szöveges sztringet tartalmaz az eseményüzenetben. Megadhat például egy riasztást, amely egy adott tábla nevét vagy egy adott korlátozást tartalmazó üzenetekre válaszol.

Teljesítményfeltétel kiválasztása

Megadhat egy riasztást, amely egy adott teljesítményfeltételre reagál. Ebben az esetben meg kell adnia a figyelendő teljesítményszámlálót, a riasztás küszöbértékét, valamint azt a viselkedést, amelyet a számlálónak meg kell jelenítenie, ha a riasztás bekövetkezik. Teljesítményfeltétel beállításához meg kell adnia a következő elemeket az SQL Server Agent Általános lapján az Új riasztás vagy a Riasztás tulajdonságai párbeszédpanelen:

  • Objektum: Az objektum a figyelendő teljesítmény területe.

  • Számláló: A számláló a figyelendő terület attribútuma.

  • Példány: Az SQL Server-példány határozza meg a monitorozni kívánt attribútum adott példányát (ha van ilyen).

  • Riasztás, ha számláló és érték

    A riasztás küszöbértéke és a riasztást előidéző viselkedés. A küszöbérték egy szám. A viselkedés az alábbiak egyike: az értékhez megadott szám alá esik, egyenlővé válik, vagy magasabbra emelkedik. Az Érték egy szám, amely a teljesítményfeltétel-számlálót írja le. Ha például riasztást szeretne beállítani az SQLServer:Locks teljesítményobjektumhoz, ha a zárolási várakozási idő meghaladja a 30 percet, akkor a fenti érték mellett 30 értéket kell megadnia.

    Egy másik példaként megadhatja, hogy az SQLServer:Transactions teljesítményobjektum riasztása akkor fordul elő, ha a szabad terület tempdb 1000 KB alá esik. Ennek az értéknek a beállításához lépjen a tempdb (KB) szabad terület számlálójára, válassza az alá eső értékeket, és válasszon egy értéket.1000

    A rendszer rendszeresen mintavételezi a teljesítményadatokat, ami kis késleltetést (néhány másodpercet) eredményezhet a küszöbérték és a teljesítményriasztás előfordulása között.

    A kiszolgáló nevét tároló eseménynapló-változó legfeljebb 32 karakter hosszúságú lehet. Ezért ha a gazdagépnév és a példánynév együttes mérete nagyobb, mint 32 karakter, a következő hibaüzenet jelenhet meg:

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

WMI-esemény kiválasztása

Megadhatja, hogy egy riasztás egy adott WMI-eseményre reagálva történjen. WMI-esemény kiválasztásához meg kell határoznia a következőket az ÚJ riasztásÁLTALÁNOS SQL Server-ügynök lapján vagy a Riasztás tulajdonságai párbeszédpanelen:

  • Névtér: Az SQL Server-ügynök WMI-ügyfélként regisztrál az események lekérdezéséhez megadott WMI-névtérre.

  • Lekérdezés: Az SQL Server-ügynök a Windows Management Instrumentation Query Language (WQL) utasítást használja az adott esemény azonosításához.

Tevékenység SQL Server Management Studio Transact-SQL
Riasztás létrehozása üzenetszám alapján Riasztás létrehozása hibaszámmal sp_add_alert
Riasztás létrehozása súlyossági szintek alapján Riasztás létrehozása súlyossági szinttel sp_add_alert
Riasztás létrehozása WMI-esemény alapján WMI-eseményriasztás létrehozása sp_add_alert
Riasztásra adott válasz meghatározása Riasztásra adott válasz definiálása sp_add_notification
Felhasználó által definiált esemény hibaüzenetének létrehozása sp_addmessage
Felhasználó által definiált esemény hibaüzenetének módosítása sp_altermessage
Felhasználó által definiált esemény hibaüzenet törlése sp_dropmessage
Riasztás letiltása vagy újraaktiválása Riasztás letiltása vagy újraaktiválása sp_update_alert