sys.triggers (Transact-SQL)

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance

Contains a row for each object that is a trigger, with a type of TR or TA. DML trigger names are schema-scoped and, therefore, are visible in sys.objects. DDL trigger names are scoped by the parent entity and are only visible in this view.

The parent_class and name columns uniquely identify the trigger in the database.

Column name Data type Description
name sysname Trigger name. DML trigger names are schema-scoped. DDL trigger names are scoped with respect to the parent entity.
object_id int Object identification number. Is unique within a database.
parent_class tinyint Class of the parent of the trigger.

0 = Database, for the DDL triggers.

1 = Object or column for the DML triggers.
parent_class_desc nvarchar(60) Description of the parent class of the trigger.


parent_id int ID of the parent of the trigger, as follows:

0 = Triggers that are database-parented triggers.

For DML triggers, this is the object_id of the table or view on which the DML trigger is defined.
type char(2) Object type:

TA = Assembly (CLR) trigger

TR = SQL trigger
type_desc nvarchar(60) Description of object type.


create_date datetime Date the trigger was created.
modify_date datetime Date the object was last modified by using an ALTER statement.
is_ms_shipped bit Trigger created on behalf of the user by an internal SQL Server component.
is_disabled bit Trigger is disabled.
is_not_for_replication bit Trigger was created as NOT FOR REPLICATION.
is_instead_of_trigger bit 1 = INSTEAD OF triggers

0 = AFTER triggers.


The visibility of the metadata in catalog views is limited to securables that a user either owns, or on which the user was granted some permission. For more information, see Metadata Visibility Configuration.

See Also

Security Catalog Views (Transact-SQL)
Catalog Views (Transact-SQL)