Return a List of All Server Triggers in SQL Server

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.