Tracciare il motivo per cui una transazione viene aumentato a DTC
-
21-08-2019 - |
Domanda
C'è un modo per determinare con precisione il motivo per cui uno System.Transaction TrasactionScope viene escalation al DTC? Stiamo colpendo un urto con uno dei nostri componenti che sembrano intensificare la transazione mentre tutti gli altri componenti (che sembrano ingannevolmente simile) non fa escalation.
sono tutte le informazioni messe a disposizione sui motivi per l'escalation e come possono essere trovato e osservato? SQL Profiler? Log files? O sono fuori di fortuna su questo?
UPDATE: Io corro contro SQL Server 2005 per informazioni
Soluzione
Si potrebbe provare a chiudere il servizio di Cordinator Distributed Transaction e impostando il tipo di avvio su Disabilitato. Ciò causerà un'eccezione quando la transazione viene promossa che avrà il codice problema nel stack di chiamate.
Naturalmente questo non vi aiuterà se si dispone di altri elementi in esecuzione sulla macchina che richiedono questo servizio, ma sarebbe possibile su una macchina di debug.
Altri suggerimenti
Quando si utilizza TransactionScope
una transazione viene escalation ogni volta che un'applicazione apre una seconda connessione (anche allo stesso database) nel quadro dell'operazione in questione.