Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Gibt eine Liste von Triggern in SQL Server zurück

Sie können die sys.triggers verwenden Katalogansicht, um eine Liste von Triggern in einer Datenbank in SQL Server zurückzugeben.

Diese Ansicht enthält eine Zeile für jedes Objekt, das ein Trigger ist, mit dem Typ TR oder TA.

Beispiel

Hier ist ein Beispiel für die Abfrage von sys.triggers :

SELECT * FROM sys.triggers;

Ergebnis (bei vertikaler Ausgabe):

-[ 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)

Ich habe in diesem Beispiel eine vertikale Ausgabe verwendet, damit Sie nicht seitwärts scrollen müssen.

In meinem Fall habe ich nur einen Auslöser in dieser Datenbank.

Wenn ich zu einer anderen Datenbank wechsle, bekomme ich die Trigger in dieser Datenbank. Wenn die Datenbank keine Trigger enthält, erhalte ich keine Ergebnisse.

USE WideWorldImporters;
SELECT * FROM sys.triggers;

Ergebnis:

Commands completed successfully.
(0 rows affected)

Server-Trigger

Wenn Sie eine Liste von Servertriggern zurückgeben müssen, verwenden Sie sys.server_triggers anstelle von sys.triggers .

Diese Ansicht gibt alle DDL-Trigger auf Serverebene mit dem Objekttyp TR oder TA zurück.