К моей проблеме: я вызываю хранимую процедуру из своего бизнес-кода. Этот вызов находится в явной транзакции. Хранимая процедура иногда вызывает другую, чтобы что-то записать в базу данных. Эти данные должны оставаться в базе данных, даже когда транзакция откатывается. Аналогичный сценарий - это когда вы хотите что-то записать в таблице журналов, и сообщение журнала должно храниться (это не мое дело, это просто аналогичное требование).Можно ли исключить хранимую процедуру из транзакции в MS SQL?
Как я могу исключить вторую хранимую процедуру из внешней транзакции? Я думаю, что я ищу что-то вроде «автономных транзакций» в Oracle. Я искал возможную эмуляцию, но все решения выглядели не очень «красиво» (создайте loopback-сервер, добавьте некоторые .NET-методы, ...)
Любые идеи? Спасибо!
Вы видели это: http://blogs.msdn.com/b/sqlprogrammability/archive/2008/08/22/how-to-create-an-autonomous-transaction-in-sql-server-2008. aspx – Mohammadreza