Herkese merhaba,
SQL Server’da bazı durumlarda veritabanınıza ait tüm triggerları listelemeniz gerekiyor olabilir.
Aşağıdaki kod yardımı ile bu işlemi rahatlıkla yapabilirsiniz.
Not : İşlem öncesi ilgili veritabanınızı seçtiğinizden emin olun.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
SELECT trg.name AS trigger_name, SCHEMA_NAME(tab.schema_id) + '.' + tab.name AS [table], CASE WHEN is_instead_of_trigger = 1 THEN 'Instead of' ELSE 'After' END AS [activation], (CASE WHEN OBJECTPROPERTY(trg.object_id, 'ExecIsUpdateTrigger') = 1 THEN 'Update ' ELSE '' END + CASE WHEN OBJECTPROPERTY(trg.object_id, 'ExecIsDeleteTrigger') = 1 THEN 'Delete ' ELSE '' END + CASE WHEN OBJECTPROPERTY(trg.object_id, 'ExecIsInsertTrigger') = 1 THEN 'Insert' ELSE '' END ) AS [event], CASE WHEN trg.parent_class = 1 THEN 'Table trigger' WHEN trg.parent_class = 0 THEN 'Database trigger' END [class], CASE WHEN trg.[type] = 'TA' THEN 'Assembly (CLR) trigger' WHEN trg.[type] = 'TR' THEN 'SQL trigger' ELSE '' END AS [type], CASE WHEN is_disabled = 1 THEN 'Disabled' ELSE 'Active' END AS [status], OBJECT_DEFINITION(trg.object_id) AS [definition] FROM sys.triggers trg LEFT JOIN sys.objects tab ON trg.parent_id = tab.object_id ORDER BY trg.name; |
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.
