Estoy usando CONTEXT_INFO para pasar un nombre de usuario a un desencadenador de eliminación a los fines de una tabla de auditoría/historial. Estoy intentando comprender el alcance de CONTEXT_INFO y si estoy creando una posible condición de carrera.¿Cuál es el alcance de CONTEXT_INFO en SQL Server?
Cada una de las tablas de mi base de datos tiene un proceso almacenado para manejar las eliminaciones. El proceso de eliminación de eliminación toma userId como un parámetro y establece CONTEXT_INFO en userId. Mi desencadenador de eliminación luego toma el CONTEXT_INFO y lo usa para actualizar una tabla de auditoría que indica quién borró la (s) fila (s).
La pregunta es, si dos elimina sprocs de diferentes usuarios se están ejecutando al mismo tiempo, ¿puede el CONTEXT_INFO establecido en uno de los sproc ser consumido por el disparador disparado por el otro sproc?
He visto este artículo http://msdn.microsoft.com/en-us/library/ms189252.aspx pero no tengo claro el alcance de las sesiones y los lotes en SQL Server, que es la clave para que el artículo sea útil.
Me gustaría publicar el código, pero corto de tiempo en este momento. Voy a editar más tarde si esto no es lo suficientemente claro.
Gracias de antemano por cualquier ayuda.