Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Retornar uma lista de gatilhos no SQL Server


Você pode usar os sys.triggers exibição de catálogo para retornar uma lista de gatilhos em um banco de dados no SQL Server.

Essa visualização contém uma linha para cada objeto que é um gatilho, com um tipo de TR ou TA.

Exemplo


Aqui está um exemplo de consulta de sys.triggers :
SELECT * FROM sys.triggers;

Resultado (usando saída vertical):
-[ 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)

Eu usei a saída vertical neste exemplo para que você não precise rolar para os lados.

No meu caso, tenho apenas um gatilho neste banco de dados.

Se eu mudar para um banco de dados diferente, recebo os gatilhos nesse banco de dados. Se o banco de dados não contiver gatilhos, não obterei resultados.
USE WideWorldImporters;
SELECT * FROM sys.triggers;

Resultado:
Commands completed successfully.
(0 rows affected)

Acionadores do servidor


Se você precisar retornar uma lista de acionadores do servidor, use sys.server_triggers em vez de sys.triggers .

Essa exibição retorna todos os gatilhos DDL de nível de servidor com object_type de TR ou TA.