ÎncepețiÎncepe gratuit

Urmărirea execuțiilor triggerului

Un factor important în monitorizarea triggerelor este păstrarea unui istoric al execuțiilor acestora. Acesta îți permite să corelezi momentele în care rulează triggerele cu eventualele probleme apărute în baza de date.

Dacă momentele coincid, este posibil ca problemele să fi fost cauzate de trigger.

SQL Server oferă informații despre execuția triggerelor stocate în prezent în memorie prin intermediul vizualizării sys.dm_exec_trigger_stats. Totuși, odată ce un trigger este eliminat din memorie, toate informațiile despre el dispar și din vizualizare, pierzând astfel istoricul execuțiilor.

Pentru a depăși această limitare, decizi să folosești tabelul TriggerAudit pentru a stoca informații despre orice încercare de modificare a rândurilor din tabelul Orders, deoarece utilizatorii au raportat că tabelul nu răspunde frecvent.

Acest exercițiu face parte din cursul

Crearea și optimizarea triggerelor în SQL Server

Vezi cursul

Instrucțiuni pentru exercițiu

  • Modifică triggerul PreventOrdersUpdate.
  • Setează triggerul să se declanșeze atunci când rândurile din tabelul Orders sunt actualizate.
  • Adaugă detalii suplimentare despre execuția triggerului în tabelul TriggerAudit.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

-- 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);
Editează și rulează codul