In SQL Server, you can use the sys.server_triggers
catalog view to return a list of server triggers.
More specifically, this view contains the set of all server-level DDL triggers with object_type of TR or TA.
For CLR triggers, the assembly must be loaded into the master
database.
Example
Here’s an example of querying the sys.server_triggers
view.
SELECT * FROM sys.server_triggers;
Result (using vertical output):
-[ RECORD 1 ]------------------------- name | trg_limit_concurrent_sessions object_id | 759673754 parent_class | 100 parent_class_desc | SERVER parent_id | 0 type | TR type_desc | SQL_TRIGGER create_date | 2020-08-19 23:27:39.153 modify_date | 2020-08-19 23:27:39.153 is_ms_shipped | 0 is_disabled | 0 (1 row affected)
In my case, I only have one server level trigger, which happens to be a logon trigger.
Note that DDL trigger names are scoped by the parent entity and are therefore not available in the sys.objects
view.