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