LoslegenKostenlos loslegen

Trigger-Ausführungen nachverfolgen

Ein wichtiger Faktor bei der Überwachung von Triggern ist, eine Historie ihrer Ausführung zu haben. So kannst du die Zeitpunkte von Trigger-Läufen mit Problemen in der Datenbank in Beziehung setzen.

Wenn die Zeiten übereinstimmen, ist es möglich, dass die Probleme durch den Trigger verursacht wurden.

SQL Server bietet Informationen zur Ausführung aller Trigger, die sich aktuell im Speicher befinden, in der Ansicht sys.dm_exec_trigger_stats. Sobald ein Trigger jedoch aus dem Speicher entfernt wird, verschwinden auch seine Informationen aus der Ansicht — die Ausführungshistorie geht verloren.

Um diese Einschränkung zu umgehen, entscheidest du dich, die Tabelle TriggerAudit zu verwenden, um Informationen über alle Versuche zu speichern, Zeilen in der Tabelle Orders zu ändern, da berichtet wurde, dass die Tabelle häufig nicht reagiert.

Diese Übung ist Teil des Kurses

Trigger in SQL Server erstellen und optimieren

Kurs anzeigen

Anleitung zur Übung

  • Ändere den Trigger PreventOrdersUpdate.
  • Lege fest, dass der Trigger ausgelöst wird, wenn Zeilen in der Tabelle Orders aktualisiert werden.
  • Füge zusätzliche Details zur Trigger-Ausführung in die Tabelle TriggerAudit ein.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

-- 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);
Code bearbeiten und ausführen