Kom igångKom igång gratis

Hålla koll på triggerkörningar

En viktig faktor vid övervakning av triggers är att ha en historik över deras körningar. Det gör det möjligt att koppla ihop tidpunkterna för triggerkörningar med eventuella problem som uppstår i databasen.

Om tidpunkterna stämmer överens är det möjligt att problemen orsakades av triggern.

SQL Server tillhandahåller information om körningen av alla triggers som för närvarande finns lagrade i minnet via vyn sys.dm_exec_trigger_stats. Men när en trigger tas bort från minnet försvinner även all information om den från vyn, vilket innebär att du förlorar triggerns körningshistorik.

För att komma runt den här begränsningen väljer du att använda tabellen TriggerAudit för att lagra information om alla försök att ändra rader i tabellen Orders, eftersom användare har rapporterat att tabellen ofta slutar svara.

Den här övningen är en del av kursen

Bygga och optimera triggers i SQL Server

Visa kurs

Övningsinstruktioner

  • Ändra triggern PreventOrdersUpdate.
  • Ange att triggern ska aktiveras när rader uppdateras i tabellen Orders.
  • Lägg till ytterligare information om triggerkörningen i tabellen TriggerAudit.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

-- Modify the trigger to add new functionality
___ TRIGGER PreventOrdersUpdate
ON ___
-- Prevent any row changes
INSTEAD OF ___
AS
	-- Keep history of trigger executions
	INSERT INTO ___ (TriggerName, ExecutionDate)
	SELECT 'PreventOrdersUpdate', 
           GETDATE();

	RAISERROR ('Updates on "Orders" table are not permitted.
                Place a new order to add new products.', 16, 1);
Redigera och kör kod