Я использую CONTEXT_INFO для передачи имени пользователя в триггер удаления для целей таблицы аудита / истории. Я пытаюсь понять сферу действия CONTEXT_INFO и создаю ли я потенциальное состояние гонки.
В каждой из моих таблиц базы данных есть сохраненный процесс для обработки удалений. Удаляемый сохраненный процесс принимает userId в качестве параметра и устанавливает CONTEXT_INFO в значение userId. Мой триггер удаления затем захватывает CONTEXT_INFO и использует его для обновления таблицы аудита, которая указывает, кто удалил строку (и).
Вопрос в том, что, если одновременно выполняются два удаления sprocs от разных пользователей, может ли CONTEXT_INFO, установленный в одном из sprocs, использоваться триггером, запущенным другим sproc?
Я видел эту статью http://msdn.microsoft.com/en-us/library/ms189252.aspx, но я не совсем понимаю объем сессий и пакетов в SQL Server, что является ключевым моментом для полезной статьи!
Я бы отправил код, но сейчас не хватает времени. Я отредактирую позже, если это не будет достаточно ясно.
Заранее спасибо за любую помощь.