Можете да използвате sys.triggers
изглед на каталог, за да върне списък със задействания в база данни в SQL Server.
Този изглед съдържа ред за всеки обект, който е тригер, с тип TR или TA.
Пример
Ето пример за заявка за sys.triggers
:
SELECT * FROM sys.triggers;
Резултат (с помощта на вертикален изход):
-[ 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)
Използвах вертикален изход в този пример, така че да не се налага да превъртате настрани.
В моя случай имам само един тригер в тази база данни.
Ако премина към друга база данни, получавам тригерите в тази база данни. Ако базата данни не съдържа тригери, нямам резултати.
USE WideWorldImporters;
SELECT * FROM sys.triggers;
Резултат:
Commands completed successfully. (0 rows affected)
Сървърни задействания
Ако трябва да върнете списък със сървърни тригери, използвайте sys.server_triggers
вместо sys.triggers
.
Този изглед връща всички DDL тригери на ниво сървър с тип_обект на TR или TA.