2011-08-17 14 views
8

Lo strumento DTCP dice che tutto dovrebbe andare bene. L'eccezione reale è:Il test Dtc passa ma ha ancora una comunicazione con il gestore transazioni sottostante non riuscito

System.Transactions.TransactionManagerCommunicationException: 

La comunicazione con il gestore delle transazioni sottostante non è riuscita. ---> System.Runtime.InteropServices.COMException: il gestore della transazione MSDTC non è stato in grado di trasferire la transazione al gestore transazioni di destinazione a causa di problemi di comunicazione. Le possibili cause sono: un firewall è presente e non ha un'eccezione per il processo MSDTC , le due macchine non possono trovare l'un l'altro con i loro nomi NetBIOS o il supporto per le transazioni di rete non è abilitato per uno dei due gestori delle transazioni. (Eccezione da HRESULT: 0x8004D02A)

Il servizio viene eseguito su una macchina virtuale. Altri server sono in grado di eseguire transazioni distribuite, quindi la casella DB è configurata correttamente.

risposta

3

C'è un buon articolo su questo argomento qui: Troubleshooting Problems with MSDTC. È stato originariamente scritto per BizTalk Server ma si applica anche ad altri server.

Poiché si sta eseguendo un VPC, è possibile che il DTC condivida alcuni identificatori con un'altra macchina sulla stessa rete. Si prega di verificare il "Assicurarsi che MSDTC è assegnato un valore CID unico" capitolo in questo articolo (vedi anche http://blogs.msdn.com/b/johnlee/archive/2008/09/09/msdtc-on-virtual-machines.aspx), anche se credo che DTCPing dovrebbe dirvi su di esso ... Si può anche provare msdtc -uninstall e msdtc -install per risolvere questo problema.

È inoltre necessario verificare se il server non utilizza alcuna tecnologia VPN o di crittografia. Mi ricordo che questo può causare problemi.

2

Qualcuno ha già menzionato ID univoci, assicurati di farlo prima di fare qualsiasi altra cosa, ho visto persone saltare in aria MOLTO tempo scendendo su altre rotte solo per scoprire che era tutto il problema era.

Detto questo, ho trovato uno strumento chiamato DTCTester per essere più utile di DTCPing. http://support.microsoft.com/kb/293799

È un po 'più difficile da utilizzare rispetto a DTCPing, ma verifica anche molto più vicino a ciò che si sta normalmente cercando di fare che offre un risultato di test più pulito.

* Assicurarsi che tutti i possibili software firewall/di filtraggio è disattivato e/o inesistente *

Non posso sottolineare che sufficiente, una volta ho speso quasi 90 minuti cercando di convincere un cusotmer che il suo Il software VPN fungeva da firewall personale e bloccava le prese in ingresso. Una volta disabilitato, i problemi sono andati via. (il software incidentalmente era Cisco VPN Client, l'impostazione era "Stateful Firewall (Always On)" - sì, è SEMPRE su :))

Ricorda che il DTC è a doppio senso, quindi questo deve essere vero per entrambi lati, e devi anche assicurarti che entrambe le macchine abbiano l'opzione "Abilita accesso DTC alla rete". Ho anche scoperto che assicurarmi che le impostazioni del DTC su entrambe le caselle siano sincronizzate generalmente assicura anche una solida interazione

Problemi correlati