Du kan bruge sys.triggers
katalogvisning for at returnere en liste over triggere i en database i SQL Server.
Denne visning indeholder en række for hvert objekt, der er en trigger, med en type TR eller TA.
Eksempel
Her er et eksempel på forespørgsler på sys.triggers
:
SELECT * FROM sys.triggers;
Resultat (ved hjælp af lodret output):
-[ RECORD 1 ]------------------------- name | trg_Books_UpdateModifiedDate object_id | 1669580986 parent_class | 1 parent_class_desc | OBJECT_OR_COLUMN parent_id | 1605580758 type | TR type_desc | SQL_TRIGGER create_date | 2020-08-16 00:35:09.880 modify_date | 2020-08-16 00:35:09.880 is_ms_shipped | 0 is_disabled | 0 is_not_for_replication | 0 is_instead_of_trigger | 0 (1 row affected)
Jeg brugte lodret output i dette eksempel, så du ikke behøver at rulle sidelæns.
I mit tilfælde har jeg kun én trigger i denne database.
Hvis jeg skifter til en anden database, får jeg triggerne i den database. Hvis databasen ikke indeholder nogen triggere, får jeg ingen resultater.
USE WideWorldImporters;
SELECT * FROM sys.triggers;
Resultat:
Commands completed successfully. (0 rows affected)
Serverudløsere
Hvis du har brug for at returnere en liste over serverudløsere, skal du bruge sys.server_triggers
i stedet for sys.triggers
.
Denne visning returnerer alle DDL-udløsere på serverniveau med objekttype TR eller TA.