नीचे दी गई स्क्रिप्ट का उपयोग SQL सर्वर डेटाबेस में सभी ट्रिगर्स को अक्षम करने के लिए किया जा सकता है।
USE [डेटाबेस]
GO
DECLARE @TriggerName AS VARCHAR(500)
DECLARE @TableName AS VARCHAR(500)
DECLARE @SchemaName AS VARCHAR(100)
-- SQL सर्वर में डेटाबेस में सभी ट्रिगर अक्षम करें
DECLARE DisableTrigger CURSOR for
TBL.name AS TableName,
Schema_name(TBL.schema_id) AS Table_SchemaName,
TRG चुनें .नाम AS TriggerName
sys.triggers TRG से
इनर जॉइन sys.tables TBL
TBL पर।OBJECT_ID =TRG.parent_id
और TRG.is_disabled=0
और TBL.is_ms_shipped=0
DisableTrigger खोलें
अक्षम ट्रिगर से अगला प्राप्त करें @TableName,@SchemaName,@TriggerName
जबकि @@FETCH_STATUS =0
BEGIN
DECLARE @SQL वचर (मैक्स) =एनयू LL
SET @SQL='अक्षम ट्रिगर' + @TriggerName +' ON '+@SchemaName+'। प्रिंट 'Trigger ::' + @TriggerName + '+@SchemaName+' पर अक्षम है।'+@TableName
PRINT @SQL
DisableTrigger से अगला FETCH INTO @TableName,@SchemaName, @TriggerName
END
CLOSE DisableTrigger
DEALLOCATE DisableTrigger
यह जांचने के लिए कि SQL में सभी ट्रिगर सही तरीके से अक्षम हैं या नहीं सर्वर डेटाबेस, नीचे क्वेरी का उपयोग करें
टेबलनाम के रूप में TBL.name चुनें,
Schema_name(TBL.schema_id) AS Table_SchemaName,
TRG.name AS TriggerName,
TRG। parent_class_desc,
मामला
जब TRG.is_disabled =0 तब 'सक्षम करें'
ELSE 'अक्षम करें'
END AS TRG_Status
sys.triggers TRG से
INNER TBL.OBJECT_ID =TRG.parent_id पर sys.tables TBL
में शामिल हों
और trg.is_disabled=1 -- अक्षम ट्रिगर प्राप्त करने के लिए इस फ़िल्टर का उपयोग करें