Visualizar todos os gatilhos de uma base no SQL Server

Visualizar todos os gatilhos de uma base no SQL Server

Olá pessoal…

Hoje vou mostrar como visualizar todos os gatilhos (triggers) de uma base SQL Server.

SQL Server
SQL Server

Primeiramente é necessário fazer um select na sysobjects, filtrando o tipo igual a TR, e se quiser visualizar a tabela, deve-se fazer um join na sys.tables.

Abaixo a consulta desenvolvida:

SELECT 
     obj.name AS trigger_name 
    ,USER_NAME(obj.uid) AS trigger_owner 
    ,schem.name AS table_schema 
    ,OBJECT_NAME(parent_obj) AS table_name 
    ,OBJECTPROPERTY( id, 'ExecIsUpdateTrigger') AS isupdate 
    ,OBJECTPROPERTY( id, 'ExecIsDeleteTrigger') AS isdelete 
    ,OBJECTPROPERTY( id, 'ExecIsInsertTrigger') AS isinsert 
    ,OBJECTPROPERTY( id, 'ExecIsAfterTrigger') AS isafter 
    ,OBJECTPROPERTY( id, 'ExecIsInsteadOfTrigger') AS isinsteadof 
    ,OBJECTPROPERTY(id, 'ExecIsTriggerDisabled') AS [disabled] 
FROM sysobjects obj

INNER JOIN sysusers users
    ON obj.uid = users.uid 

INNER JOIN sys.tables tabs 
    ON obj.parent_obj = tabs.object_id 

INNER JOIN sys.schemas schem 
    ON tabs.schema_id = schem.schema_id 

WHERE obj.type = 'TR' 

Referência:
stackoverflow.com

Bom pessoal, por hoje é só.
Abraços e até a próxima.

About Dan_Atilio

Analista e desenvolvedor de sistemas. Técnico em Informática pelo CTI da Unesp. Graduado em Banco de Dados pela Fatec Bauru. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor do projeto Terminal de Informação, onde são postados tutoriais e notícias envolvendo o mundo da tecnologia.

Deixe uma resposta

%d blogueiros gostam disto: