sql >> Database teknologi >  >> RDS >> Sqlserver

Returner en liste over triggere i SQL Server

Du kan bruge sys.triggers katalogvisning for at returnere en liste over triggere i en database i SQL Server.

Denne visning indeholder en række for hvert objekt, der er en trigger, med en type TR eller TA.

Eksempel

Her er et eksempel på forespørgsler på sys.triggers :

SELECT * FROM sys.triggers;

Resultat (ved hjælp af lodret output):

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

Jeg brugte lodret output i dette eksempel, så du ikke behøver at rulle sidelæns.

I mit tilfælde har jeg kun én trigger i denne database.

Hvis jeg skifter til en anden database, får jeg triggerne i den database. Hvis databasen ikke indeholder nogen triggere, får jeg ingen resultater.

USE WideWorldImporters;
SELECT * FROM sys.triggers;

Resultat:

Commands completed successfully.
(0 rows affected)

Serverudløsere

Hvis du har brug for at returnere en liste over serverudløsere, skal du bruge sys.server_triggers i stedet for sys.triggers .

Denne visning returnerer alle DDL-udløsere på serverniveau med objekttype TR eller TA.


  1. SQL Server 2017:Kopiering af SQL Server-data fra Linux til Windows med SSIS

  2. Skemamønstersøgning til dataklasseforening

  3. Måder at migrere SQL Server Database til Azure SQL Database

  4. Hvor sikker er tråden EnableWriteAheadLogging i forbindelse med reel brug og SQLite-dokumentation?