Olá pessoal…
Hoje vou mostrar como visualizar todos os gatilhos (triggers) de uma base 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.