martedì 17 marzo 2020

MS SQL - Analisi dei trigger presenti in un database

Questo è un piccolo script per individuare tutti i trigger in un database di Microsoft SQL Server:

 SELECT 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'  

Nessun commento:

Posta un commento