Он передает его Координатору распределенных транзакций (msdtc), если обнаруживает несколько баз данных, которые используют каждую область как часть двухфазного принятия. Каждая область голосует за фиксацию , и, следовательно, мы получаем свойства ACID, но распределяем по базам данных. Он также может быть интегрирован с TxF, TxR. Вы должны быть в состоянии использовать это так, как вы описываете.
Две базы данных согласованы, так как к ним подключена распределенная транзакция COM +, запущенная под MTC, транзакции базы данных.
Если одна база данных проголосует за принятие (например, выполнив (: TransactionScope) .Commit ()), «it» сообщает DTC, что она проголосовала за принятие. Когда все базы данных сделали это, у них есть список изменений. Поскольку транзакции базы данных теперь не блокируются и не конфликтуют с другими транзакциями (например, с помощью алгоритма справедливости, который опережает одну транзакцию), все операции для каждой базы данных находятся в журнале транзакций. Если система теряет питание, когда еще не завершена фиксация для одной базы данных, но для другой, в журнале транзакций записывается, что все ресурсы проголосовали за фиксацию, поэтому логическое следствие того, что фиксация должна завершиться неудачей Следовательно, в следующий раз, когда база данных, которая не смогла зафиксировать, загружается, она завершит транзакции, оставленные в этом неопределенном состоянии.