Ответ 1
Вы описываете "автономную транзакцию", которая является распространенным вопросом у людей, которые переходят из Oracle (который их поддерживает) в MSSQL (а это не так). В этой статье объясняются различные варианты, которые, к сожалению, не особенно привлекательны:
- Связанный с обратной связью сервер
- Соединение с обратной связью из процедуры CLR
- Табличная переменная, которая хранит данные, потому что на них не влияют откаты
- Соединение с обратной связью из расширенной хранимой процедуры (но они все равно не рекомендуются для процедур CLR)
Если ни один из этих вариантов не подходит для вас, другой альтернативой является переход некоторых элементов управления в приложение и из базы данных, но, конечно, это просто переносит проблему в другое место. Тем не менее, это может быть целесообразно рассмотреть.