Разрешены ли транзакции по умолчанию в SQLServer? - PullRequest
0 голосов
/ 20 января 2009

Мне нужно использовать DbTransactions (на одном БД), но я не уверен, как обеспечить его работу при развертывании в производственной среде.

Каковы требования к приложению, чтобы иметь возможность использовать SQL DbTransactions? Разрешены ли они по умолчанию в SQLServer (и как обстоят дела с MSDTC)?

Ответы [ 2 ]

7 голосов
/ 20 января 2009

Да, транзакции включены по умолчанию - я не думаю, что это то, что вы можете отключить. Каждый раз, когда вы запускаете запрос, он, вероятно, выполняется как неявная транзакция с автоматическим подтверждением, если не указано иное.

MSDTC вступает в игру, если вы запускаете распределенные транзакции. Я бы избежал этого, если вы можете. Этот аспект можно отключить. Если это то, что вы используете, то вам нужно убедиться, что оно настроено в целевой системе.

Простое использование объекта DBTransaction для простых, последовательных запросов или транзакций в хранимых процедурах не требует MSDTC.

2 голосов
/ 20 января 2009

В дополнение к тому, что сказал Майкл,

Существуют явные и неявные транзакции, если вы не запускаете транзакцию, явный SQL Server запустит для вас неявную транзакцию, это необходимо, чтобы сделать ее ACID (атомарность, согласованность, изоляция, долговечность)

...