Habilitar o Deshabilitar Triggers en SQL Server

Con este script se pueden habilitar o deshabilitar todos los triggers de la Base de Datos que se encuentre seleccionada.

DECLARE @cTgName    VARCHAR(50)
DECLARE @cTableName    VARCHAR(50)

SET NOCOUNT ON;

DECLARE Cur_TG CURSOR LOCAL FORWARD_ONLY FOR
    SELECT (SCH.NAME + '.' + STG.NAME) AS TG_NAME, (SCH.NAME + '.' + SAO.NAME) AS TABLE_NAME 
    FROM SYS.TRIGGERS STG,
    SYS.ALL_OBJECTS AS SAO,
    SYS.SCHEMAS AS SCH
    WHERE STG.PARENT_ID = SAO.OBJECT_ID
    AND SAO.SCHEMA_ID = SCH.SCHEMA_ID

OPEN Cur_TG
FETCH Cur_TG INTO @cTgName, @cTableName

WHILE (@@FETCH_STATUS = 0)
BEGIN

    BEGIN TRY
        -- Para Habilitar
        EXEC ('ENABLE TRIGGER ' + @cTgName + ' ON ' + @cTableName)
        -- Para Deshabilitar
        EXEC ('DISABLE TRIGGER ' + @cTgName + ' ON ' + @cTableName)
    END TRY
    BEGIN CATCH
        PRINT ERROR_MESSAGE()
    END CATCH

    FETCH Cur_TG INTO @cTgName, @cTableName

END -- Fin del bucle WHILE

CLOSE Cur_TG
DEALLOCATE Cur_TG 
Scroll al inicio