trigger temporarily disable desactivar all activar sql sql-server sql-server-2008 tsql triggers

temporarily - TSQL-Deshabilitar disparadores en transacciones



disable trigger temporarily sql server (1)

He buscado alto y bajo, y no he podido encontrar una respuesta satisfactoria a mi pregunta. Lo que tiende a reducirse a cómo funciona exactamente una TRANSACTION en SQL Server.

Básicamente, hará esto lo que creo que hace.

BEGIN TRAN DISABLE [my_update_trigger] ON [my_table] /*.. Do Some Updates ..*/ ENABLE [my_update_trigger] ON [my_table] COMMIT TRAN

Quiero poder arreglar algunos datos en una tabla, sin ejecutar los disparadores de actualización que tengo sobre la mesa. Esto es para una aplicación web, por lo que me gustaría asegurarme de que si se realiza una actualización sobre la mesa desde la aplicación web, mientras estoy haciendo mi trabajo, [my_update_trigger] aún se activará para la aplicación web.


La actualización está bien: la función de deshabilitar, etc.

DISABLE TRIGGER [my_update_trigger] ON [my_table] /*.. Do Some Updates ..*/ ENABLE TRIGGER [my_update_trigger] ON [my_table]

Eche un vistazo a la página msdn: http://msdn.microsoft.com/en-us/library/ms189748.aspx

Sin embargo, al hacer que sea una sesión específica: dudaría si eso funcionaría: la función de deshabilitar / habilitar es DDL en lugar de DML, es decir, actúa sobre los objetos de la base de datos en lugar de los datos. No hubiera pensado que esto estaría dentro del alcance de una Transacción