Skrip di bawah ini dapat digunakan untuk menonaktifkan semua pemicu di Database SQL Server.
GUNAKAN [Database]
PERGI
MENYATAKAN @TriggerName SEBAGAI VARCHAR(500)
DECLARE @TableName SEBAGAI VARCHAR(500)
DECLARE @SchemaName SEBAGAI VARCHAR(100)
--Menonaktifkan Semua Pemicu dalam Database di SQL Server
DECLARE DisableTrigger CURSOR FOR
PILIH TBL.name AS TableName,
Schema_name(TBL.schema_id) AS Table_SchemaName,
TRG .name AS TriggerName
DARI sys.triggers TRG
INNER JOIN sys.tables TBL
PADA TBL.OBJECT_ID =TRG.parent_id
AND TRG.is_disabled=0
DAN TBL.is_ms_shipped=0
BUKA DisableTrigger
FETCH Next FROM DisableTrigger INTO @TableName,@SchemaName,@TriggerName
SELAMA @@FETCH_STATUS =0
BEGIN
DECLARE @SQL VARCHAR(MAX)=NU LL
SET @SQL='Nonaktifkan Pemicu ' + @TriggerName +' ON '+@NamaSkema+'.'+@NamaTabel
EXEC (@SQL)
PRINT 'Trigger ::' + @TriggerName + 'disable pada '+@SchemaName+'.'+@TableName
PRINT @SQL
FETCH Next FROM DisableTrigger INTO @TableName,@SchemaName, @TriggerName
END
CLOSE DisableTrigger
DEALLOCATE DisableTrigger
Untuk memeriksa apakah semua pemicu dinonaktifkan dengan benar di SQL Database Server, gunakan kueri di bawah ini
SELECT TBL.name AS TableName,
Schema_name(TBL.schema_id) AS Table_SchemaName,
TRG.name AS TriggerName,
TRG. parent_class_desc,
KASUS
KETIKA TRG.is_disabled =0 MAKA 'Aktifkan'
ELSE 'Nonaktifkan'
AKHIR SEBAGAI TRG_Status
DARI sys.triggers TRG
INNER GABUNG TBL sys.tables
DI TBL.OBJECT_ID =TRG.parent_id
AND trg.is_disabled=1 --gunakan filter ini untuk mendapatkan Pemicu yang Dinonaktifkan