Możesz użyć sys.triggers
widok katalogu, aby zwrócić listę wyzwalaczy w bazie danych w SQL Server.
Ten widok zawiera wiersz dla każdego obiektu, który jest wyzwalaczem, z typem TR lub TA.
Przykład
Oto przykład zapytania sys.triggers
:
SELECT * FROM sys.triggers;
Wynik (przy użyciu wyjścia pionowego):
-[ 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)
W tym przykładzie użyłem pionowego wyjścia, aby nie trzeba było przewijać na boki.
W moim przypadku w tej bazie danych mam tylko jeden wyzwalacz.
Jeśli przełączę się do innej bazy danych, otrzymuję wyzwalacze w tej bazie danych. Jeśli baza danych nie zawiera wyzwalaczy, nie otrzymuję żadnych wyników.
USE WideWorldImporters;
SELECT * FROM sys.triggers;
Wynik:
Commands completed successfully. (0 rows affected)
Wyzwalacze serwera
Jeśli potrzebujesz zwrócić listę wyzwalaczy serwera, użyj sys.server_triggers
zamiast sys.triggers
.
Ten widok zwraca wszystkie wyzwalacze DDL na poziomie serwera z typem_obiektu TR lub TA.