Bạn có thể sử dụng sys.triggers
dạng xem danh mục để trả về danh sách các trình kích hoạt trong cơ sở dữ liệu trong SQL Server.
Dạng xem này chứa một hàng cho mỗi đối tượng là trình kích hoạt, với kiểu TR hoặc TA.
Ví dụ
Đây là một ví dụ về truy vấn sys.triggers
:
SELECT * FROM sys.triggers;
Kết quả (sử dụng đầu ra dọc):
-[ 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)
Tôi đã sử dụng đầu ra dọc trong ví dụ này để bạn không phải cuộn sang ngang.
Trong trường hợp của tôi, tôi chỉ có một trình kích hoạt trong cơ sở dữ liệu này.
Nếu tôi chuyển sang một cơ sở dữ liệu khác, tôi sẽ nhận được các kích hoạt trong cơ sở dữ liệu đó. Nếu cơ sở dữ liệu không chứa trình kích hoạt, thì tôi không nhận được kết quả nào.
USE WideWorldImporters;
SELECT * FROM sys.triggers;
Kết quả:
Commands completed successfully. (0 rows affected)
Kích hoạt máy chủ
Nếu bạn cần trả lại danh sách các trình kích hoạt máy chủ, hãy sử dụng sys.server_triggers
thay vì sys.triggers
.
Chế độ xem đó trả về tất cả các trình kích hoạt DDL cấp máy chủ với object_type là TR hoặc TA.