La nuova transazione non può essere inserita nel coordinatore delle transazioni specificato quando si tenta di avviare una transazione in MS DTC
Questo articolo illustra come risolvere un problema quando si avvia una transazione in Microsoft Distributed Transaction Coordinator (MS DTC).
Versione originale del prodotto: Windows
Numero KB originale: 922430
Importante
In questo articolo sono contenute informazioni relative alla modifica del Registro di sistema. Assicurarsi di eseguire il backup del Registro di sistema prima di modificarlo. e di sapere come ripristinarlo in caso di problemi. Per altre informazioni su come eseguire il backup, il ripristino e la modifica del Registro di sistema, vedere Informazioni del Registro di sistema di Windows per utenti avanzati.
Sintomi
Prendi in considerazione lo scenario seguente:
- Si dispone di un computer client che comunica con un computer server.
- MS DTC è installato in entrambi i computer.
- Una o più delle condizioni seguenti sono vere:
- Riavviare uno dei computer.
- Riavviare MS DTC in uno dei computer.
- I computer si trovano in domini diversi.
In questo scenario viene visualizzato il seguente messaggio di errore quando si tenta di avviare una transazione in MS DTC:
Impossibile integrare una nuova transazione nel coordinatore transazioni specificato (0x8004d00a)
Inoltre, la prima transazione ha esito negativo. Le transazioni successive hanno esito positivo per un po'. Tuttavia, le transazioni successive potrebbero non riuscire più. Se le transazioni successive hanno esito negativo, viene visualizzato il messaggio di errore seguente:
Impossibile integrare una nuova transazione nel coordinatore delle transazioni specificato (0x8004d00e)
Causa
Questo problema può verificarsi quando viene chiusa la connessione MS DTC tra il computer client e il computer server. Ad esempio, un timeout di inattività, un timeout rpc (Remote Procedure Call) o il firewall potrebbe chiudere la connessione MS DTC tra il computer client e il computer server. Quando si verifica una nuova richiesta di transazione, il computer client deve ristabilire la connessione MS DTC con il computer server.
Quando il computer client tenta di ristabilire la connessione MS DTC con il computer server, il computer client invia un pacchetto. Il computer client attende quindi una risposta del pacchetto di associazione dal computer server. Per impostazione predefinita, il computer client arresta la transazione se il computer client non riceve una risposta dal computer server in 4 secondi. La risposta del computer server potrebbe essere ritardata a causa di problemi di latenza di rete o ritardi di autenticazione. Quando la risposta dal computer server raggiunge infine il computer client, le transazioni successive hanno esito positivo.
La prima transazione può richiedere molto tempo e quindi una richiesta successiva per eseguire una transazione distribuita potrebbe terminare immediatamente. Questo problema può verificarsi quando il lato client di MS DTC presenta un problema durante la comunicazione con il server Kerberos (KDC). In genere, questo problema si verifica se il client e il server si trovano in domini diversi che dispongono di un firewall tra di essi.
Ad esempio, questo problema si verifica nello scenario seguente:
- Il servizio Web si trova nella rete perimetrale in un dominio. Il servizio Web deve usare le transazioni con un server di database in un altro dominio in una intranet.
- Un firewall si trova tra la rete perimetrale e la Intranet. Il ritardo eccessivo sulla prima transazione si verifica perché la porta UDP (User Datagram Protocol) 88 (Kerberos) è bloccata.
- Il nuovo tentativo e l'intervallo di ripetizione dei tentativi per la richiesta Kerberos equivale a un ritardo eccessivo (oltre 100 secondi).
Risoluzione
Avviso
Se si modifica il Registro di sistema in modo errato tramite l'Editor del Registro di sistema o con un altro metodo, possono verificarsi gravi problemi Questi problemi potrebbero richiedere la reinstallazione del sistema operativo. Microsoft non è in grado di garantire la soluzione di tali problemi. La modifica del Registro di sistema è a esclusivo rischio dell'utente.
Per assicurarsi di riscontrare il problema descritto in questo articolo, verificare che il file di log di traccia delle transazioni MS DTC contenga i dati seguenti:
; eventid=TRANSACTION_PROPOGATION_FAILED_CONNECTION_DOWN_FROM_REMOTE_TM ; tx_guid=f11cd9c9-7b8a-41e3-a904-4840123bacf7 ;" impossibile propogare la transazione al nodo figlio ' ComputerName ' perché la connessione con la gestione transazioni remota è stata disattivata"
Note
In questi dati la parola propogation è un errore di ortografia per la propagazione della parola. La parola propogate è un errore di ortografia per la parola propagata.
Se il file di log di traccia delle transazioni MS DTC contiene questi dati, seguire questa procedura:
Selezionare Start e quindi Esegui, digitare regedit e premere OK.
Individuare la seguente sottochiave del Registro di sistema:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC
Fare clic con il pulsante destro del mouse su MSDTC, scegliere Nuovo e quindi selezionare Valore DWORD.
Digitare CmMaxNumberBindRetries e quindi premere INVIO.
Fare clic con il pulsante destro del mouse su CmMaxNumberBindRetries e quindi scegliere Modifica.
Selezionare Decimal.
Nella casella Dati valore digitare 60.
Questo valore aumenta il tempo di attesa del computer client per la risposta del pacchetto di associazione dal computer server. Questo valore è doppio del numero di secondi prima che il computer client arresti la transazione se il computer client non riceve la risposta del pacchetto di associazione. Ad esempio, un valore pari a 60 è uguale a 30 secondi. Il valore 60 è solo un valore consigliato. Potrebbero essere necessari test aggiuntivi sulla configurazione.
Seleziona OK.
Riavviare MS DTC.
Note
Per lo scenario di risposta lenta, assicurarsi che le porte richieste dall'autenticazione Kerberos (UDP 88 e TCP 88) siano aperte quando un firewall è coinvolto nella rete perimetrale. Le porte UDP 389 e TCP 389 (sia per LDAP (Lightweight Directory Access Protocol) per trovare il Centro distribuzione chiavi (KDC) devono essere aperte.