В чем разница между транзакцией SQL на уровне хранимой процедуры и транзакцией на уровне SqlConnection?

Скажем, хранимая процедура на MSSQL Server использует транзакцию SQL, используяBEGIN TRANSACTION/COMMIT TRANSACTIONКак это отличается от начала и совершения одного с помощью ADO.NET черезSqlConnection.BeginTransaction()?

Ответы на вопрос(2)

Решение Вопроса

где для объекта SqlTransaction метод Commit считается "неудачным", если транзакция уже откатана на сервере. "

Кроме того, SQL Server Profiler показывает «УСТАНОВИТЬ УРОВЕНЬ ИЗОЛЯЦИИ СДЕЛКИ СДЕЛКИ», НАЧАЛО ТРАНС » как только вы выполните .BeginTransaction для соединения.

Однако для ADO (не .NET) это не так. Это позволяло создавать хорошие сценарии с эффективно вложенными транзакциями (серверные транс были вложены в клиентские). Несмотря на то, что я использовал это много, я не могу точно определить, что такое «клиентская транзакция». был в этом случае.

те иметь возможность отката, тогда вам нужно управлять транзакцией из своего кода с помощью SqlConnection.BeginTransaction (). В противном случае это то же самое.

Ваш ответ на вопрос