Dela via


Varningar

gäller för:SQL Server

Viktig

Azure SQL Managed Instancestöds de flesta, men inte alla SQL Server Agent-funktioner för närvarande. För detaljer, se Azure SQL Managed Instance T-SQL-skillnader från SQL Server.

Händelser genereras av SQL Server och anges i Microsoft Windows-programloggen. SQL Server Agent läser programloggen och jämför händelser som skrivits där med aviseringar som du har definierat. När SQL Server-agenten hittar en matchning utlöses en avisering, vilket är ett automatiserat svar på en händelse. Förutom att övervaka SQL Server-händelser kan SQL Server Agent även övervaka prestandaförhållanden och WMI-händelser (Windows Management Instrumentation).

Om du vill definiera en avisering anger du:

  • Namnet på aviseringen.

  • Händelsen eller prestandavillkoret som utlöser aviseringen.

  • Den åtgärd som SQL Server Agent vidtar som svar på händelsen eller prestandavillkoret.

Namnge en avisering

Varje avisering måste ha ett namn. Aviseringsnamn måste vara unika i SQL Server-instansen och får inte vara längre än 128 tecken.

Välja en händelsetyp

En avisering svarar på en händelse av en viss typ. Aviseringar svarar på följande händelsetyper:

  • SQL Server-händelser

  • Prestandavillkor för SQL Server

  • WMI-händelser

Typen av händelse avgör vilka parametrar du använder för att ange den exakta händelsen.

Ange en specifik SQL Server-händelse

Du kan ange en avisering som ska ske som svar på en eller flera händelser. Använd följande parametrar för att ange de händelser som utlöser en avisering:

  • Felnummer

    SQL Server Agent utlöser en avisering när ett specifikt fel inträffar. Du kan till exempel ange felnummer 2571 för att svara på obehöriga försök att anropa databaskonsolkommandon (DBCC).

  • allvarlighetsgrad

    SQL Server-agenten utlöser en avisering när ett fel av den specifika allvarlighetsgraden inträffar. Du kan till exempel ange en allvarlighetsgrad på 15 för att svara på syntaxfel i Transact-SQL-instruktioner.

  • Databas

    SQL Server Agent utlöser endast en avisering när händelsen inträffar i en viss databas. Det här alternativet gäller utöver felnumret eller allvarlighetsgraden. Om en instans till exempel innehåller en databas som används för produktion och en databas som används för rapportering kan du definiera en avisering som endast svarar på syntaxfel i produktionsdatabasen.

  • Händelsetext

    SQL Server-agenten utlöser en avisering när den angivna händelsen innehåller en viss textsträng i händelsemeddelandet. Du kan till exempel definiera en avisering som svarar på meddelanden som innehåller namnet på en viss tabell eller en viss begränsning.

Välja ett prestandavillkor

Du kan ange en avisering som ska ske som svar på ett visst prestandavillkor. I det här fallet anger du prestandaräknaren som ska övervakas, ett tröskelvärde för aviseringen och det beteende som räknaren måste visa om aviseringen ska ske. Om du vill ange ett prestandavillkor måste du definiera följande objekt på sidan SQL Server Agent Allmänt i dialogrutan Ny avisering eller dialogrutan Aviseringsegenskaper:

  • objekt

    Objektet är det prestandaområde som ska övervakas.

  • Räknare

    En räknare är ett attribut för det område som ska övervakas.

  • Instans

    SQL Server-instansen definierar den specifika instansen (om någon) av attributet som ska övervakas.

  • avisering om räknaren och värde

    Tröskelvärdet för aviseringen och det beteende som genererar aviseringen. Tröskelvärdet är ett tal. Beteendet är en av följande: faller under, blir lika medeller stiger över ett värde som anges för Value. Value är ett tal som beskriver prestandavillkorsräknaren. Om du till exempel vill ange att en avisering ska ske för prestandaobjektet SQLServer:Locks när Lock Wait Time överstiger 30 minuter, väljer du överstiger och anger 30 som värdet.

    Som ett annat exempel kan du ange att en avisering inträffar för prestandaobjektet SQLServer:Transactions när det lediga utrymmet i tempdb understiger 1 000 kB. Om du vill ange detta väljer du räknaren Ledigt utrymme i tempdb (KB), hamnar underoch ett Value-1 000.

    Obs

    Prestandadata samplas regelbundet, vilket kan leda till en liten fördröjning (några sekunder) mellan tröskelvärdet som uppnås och förekomsten av prestandaaviseringen.

    Not

    En händelseloggvariabel som lagrar servernamnet är begränsad till 32 tecken. Om den kombinerade storleken på värdnamnet och instansnamnet är större än 32 tecken kan du därför få följande fel:

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

Välja en WMI-händelse

Du kan ange att en avisering ska inträffa som svar på en viss WMI-händelse. Om du vill välja en WMI-händelse måste du definiera följande på sidan FÖR SQL Server-agenten Allmänt i dialogrutan Ny avisering eller dialogrutan Aviseringsegenskaper:

  • namnområde

    SQL Server Agent registreras som en WMI-klient till WMI-namnområdet som tillhandahålls för att fråga efter händelser.

  • Fråga

    SQL Server Agent använder WQL-instruktionen (Windows Management Instrumentation Query Language) för att identifiera den specifika händelsen.

Här följer länkar till vanliga uppgifter:

Skapa en avisering baserat på ett meddelandenummer

Skapa en avisering baserat på allvarlighetsnivåer

Skapa en avisering baserat på en WMI-händelse

Så här definierar du svaret på en avisering

Om du vill skapa ett användardefinierat händelsefelmeddelande

Om du vill ändra ett användardefinierat händelsefelmeddelande

Om du vill ta bort ett användardefinierat händelsefelmeddelande

Inaktivera eller återaktivera en avisering

Se även

sp_update_alert (Transact-SQL)