Du kan använda sys.triggers
katalogvy för att returnera en lista med utlösare i en databas i SQL Server.
Denna vy innehåller en rad för varje objekt som är en utlösare, med en typ av TR eller TA.
Exempel
Här är ett exempel på att fråga sys.triggers
:
SELECT * FROM sys.triggers;
Resultat (med vertikal utdata):
-[ 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)
Jag använde vertikal utmatning i det här exemplet så att du inte behöver rulla i sidled.
I mitt fall har jag bara en trigger i den här databasen.
Om jag byter till en annan databas får jag triggers i den databasen. Om databasen inte innehåller några triggers får jag inga resultat.
USE WideWorldImporters;
SELECT * FROM sys.triggers;
Resultat:
Commands completed successfully. (0 rows affected)
Serverutlösare
Om du behöver returnera en lista över serverutlösare, använd sys.server_triggers
istället för sys.triggers
.
Den vyn returnerar alla DDL-utlösare på servernivå med objekttyp TR eller TA.