Dicas

Listar todas as triggers em uma base de dados SQL Server.

Listar todas as triggers em uma base de dados SQL Server.

Como listar todas as triggers em uma base de dados no SQL Server.

Uma trigger é basicamente um tipo de procedure que é automaticamente executada quando algum evento ocorre no banco de dados SQL Server.
Existem vários tipos de triggers, triggers de DDL, DML e Triggers de logon.

Triggers DDL são executados em resposta a uma variedade de eventos de DDL. Esses eventos correspondem principalmente às instruções CREATE, ALTER e DROP do Transact-SQL e algumas procedures no sistema que executam operações do tipo DDL. Triggers de logon dispara em resposta ao evento LOGON que é gerado quando uma sessão de usuário está sendo estabelecida. Essas são as mais utilizadas.

Mas chega de enrolação e vamos ao que interessa.
Como eu posso listar todas as triggers em uma base de dados? Sendo objetivo vou colocar abaixo o script que procura:

SELECT 
     sysobjects.name AS NomeDaTrigger 
    ,USER_NAME(sysobjects.uid) AS OwnerDaTrigger 
    ,s.name AS SchemaDaTabela 
    ,OBJECT_NAME(parent_obj) AS NomeDaTabela 
    ,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 
INNER JOIN sys.tables t 
    ON sysobjects.parent_obj = t.object_id 

INNER JOIN sys.schemas s 
    ON t.schema_id = s.schema_id 
WHERE sysobjects.type = 'TR' 

IsUpdate – Significa que a trigger é disparada em caso de updates na tabela.
IsDelete – Significa que a trigger é disparada em caso de delete na tabela.
IsInsert – Significa que a trigger é disparada em caso de insert na tabela.
IsInsteadOf – Geralmente, a trigger INSTEAD é definido em uma exibição para inserir, atualizar ou apagar dados em uma ou mais tabelas base.
Disabled – Se a trigger está desativada ou não.

Versão para listar todas as triggers no SQL Server 2000

SELECT 
     o.name AS NomeDaTrigger 
    ,'x' AS OwnerDaTrigger 
    ,s.name AS SchemaDaTabela 
    ,OBJECT_NAME(o.parent_obj) AS NomeDaTabela 
    ,OBJECTPROPERTY(o.id, 'ExecIsUpdateTrigger') AS isupdate 
    ,OBJECTPROPERTY(o.id, 'ExecIsDeleteTrigger') AS isdelete 
    ,OBJECTPROPERTY(o.id, 'ExecIsInsertTrigger') AS isinsert 
    ,OBJECTPROPERTY(o.id, 'ExecIsAfterTrigger') AS isafter 
    ,OBJECTPROPERTY(o.id, 'ExecIsInsteadOfTrigger') AS isinsteadof 
    ,OBJECTPROPERTY(o.id, 'ExecIsTriggerDisabled') AS [disabled] 
FROM sysobjects AS o 
INNER JOIN sysobjects AS o2 
    ON o.parent_obj = o2.id 
INNER JOIN sysusers AS s 
    ON o2.uid = s.uid 
WHERE o.type = 'TR'

Verificar todas as triggers em todos os bancos de dados!

Para listar todas as triggers em todas as bases de dados execute o script a seguir:

DECLARE @command varchar(1000) 
SELECT @command = 'USE ? SELECT 
     DB_NAME() AS DatabaseName
	,sysobjects.name AS trigger_name 
    ,USER_NAME(sysobjects.uid) AS trigger_owner 
    ,s.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 
/*
INNER JOIN sysusers 
    ON sysobjects.uid = sysusers.uid 
*/  
INNER JOIN sys.tables t 
    ON sysobjects.parent_obj = t.object_id 

INNER JOIN sys.schemas s 
    ON t.schema_id = s.schema_id 
WHERE sysobjects.type = ''TR''' 
EXEC sp_MSforeachdb @command

Use triggers com moderação.

Listar todas as triggers em uma base de dados SQL Server.
The following two tabs change content below.

Wesley Mota

DBA SQL Server
Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.

Latest posts by Wesley Mota (see all)

Wesley Mota

Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.

Share
Published by
Wesley Mota

Recent Posts

Free Blackjack No Download: Appreciate Blackjack Anytime, Anywhere

Blackjack, additionally known as twenty-one, is just one of one of the most popular gambling…

4 semanas ago

The Ultimate Guide to Gry Online Ruletka

If you are a fan of online gambling, then you must have come across gry…

1 mês ago

Discover the Adventures of Free Spins at Online Casino Sites

On the internet online casinos have transformed the betting industry, enabling players to vegas.hu online…

7 meses ago

Best Free Spins No Deposit

Casinos online offer free spins to draw new customers. These bonuses are usually very profitable,…

8 meses ago

Ideal Online Port Gambling Enterprises: An Overview to Locating the Perfect Pc Gaming Experience

In recent times, online casino sites have actually obtained enormous appeal among gamers, providing a…

8 meses ago

Best Online Casinos That Accept Bitcoin Down Payments

Bitcoin, the most preferred cryptocurrency worldwide, has reinvented lots of industries, including the on baixar…

8 meses ago