Microsoft SQL Server 2008 поддерживает вложенные транзакции.
Лучший способ определить, действительно ли он поддерживается в вашем коде, - это проверить возвращаемое значение Connection.BeginTrans.Возвращаемое значение будет увеличиваться на 1 для каждой вложенной транзакции.
Итак, если вы вызываете его дважды и вложенные транзакции работают, возвращаемое значение будет равно 2. Для третьего вызова это будет 3 и т. Д.
Фиксация или откат будетуменьшить возвращаемое значение на 1.
См. здесь документацию по функции, которая говорит так:
https://www.w3schools.com/asp/met_conn_begintrans.asp
Удачи.