SQL Server’da Tüm Triggerları Disable Etmek

Herkese merhaba,

Bu yazıda SQL Server’da tüm triggerları disable etmek hakkında bilgi vereceğim.

SQL Server’da bazı durumlarda tüm triggerları disable etmek isteyebiliriz.

Aşağıdaki kod yardımıyla bu işlemi rahatlıkla yapabilirsiniz.

DECLARE @sql VARCHAR(500),
        @tableName VARCHAR(128),
        @triggerName VARCHAR(128),
        @tableSchema VARCHAR(128);
DECLARE triggerCursor CURSOR FOR
SELECT so_tr.name AS TriggerName,
       so_tbl.name AS TableName,
       t.TABLE_SCHEMA AS TableSchema
FROM sysobjects so_tr
    INNER JOIN sysobjects so_tbl
        ON so_tr.parent_obj = so_tbl.id
    INNER JOIN INFORMATION_SCHEMA.TABLES t
        ON t.TABLE_NAME = so_tbl.name
WHERE so_tr.type = 'TR'
ORDER BY so_tbl.name ASC,
         so_tr.name ASC;
OPEN triggerCursor;
FETCH NEXT FROM triggerCursor
INTO @triggerName,
     @tableName,
     @tableSchema;
WHILE (@@FETCH_STATUS = 0)
BEGIN
    SET @sql = 'DISABLE TRIGGER [' + @triggerName + '] ON ' + @tableSchema + '.[' + @tableName + ']';
    PRINT 'Trigger Durumu - ' + @sql;
    EXECUTE (@sql);
    FETCH NEXT FROM triggerCursor
    INTO @triggerName,
         @tableName,
         @tableSchema;
END;
CLOSE triggerCursor;
DEALLOCATE triggerCursor;

Kodu çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.

SQL Server’da Tüm Triggerları Disable Etmek

Görüldüğü üzere tüm triggerlar disable edilmiş oldu.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

366 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!