SQL Server Trigger Listesi
Aşağıdaki script Sql server attachlı olan tüm database lerdeki trigger ların listesini verir
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql = @sql + '
USE ' + QUOTENAME(name) + ';
IF EXISTS (SELECT 1 FROM sys.triggers WHERE is_ms_shipped = 0)
BEGIN
SELECT
''' + name + ''' AS DatabaseName,
s.name AS SchemaName,
o.name AS ObjectName,
o.type_desc AS ObjectType,
tr.name AS TriggerName,
tr.is_instead_of_trigger,
tr.is_disabled,
tr.create_date,
tr.modify_date
FROM sys.triggers tr
JOIN sys.objects o ON tr.parent_id = o.object_id
JOIN sys.schemas s ON o.schema_id = s.schema_id
WHERE tr.is_ms_shipped = 0
AND (
tr.is_instead_of_trigger = 1
OR OBJECT_DEFINITION(tr.object_id) LIKE ''%INSERT%''
OR OBJECT_DEFINITION(tr.object_id) LIKE ''%DELETE%''
);
END
'
FROM sys.databases
WHERE state = 0
AND database_id > 4;
EXEC sp_executesql @sql;