Al momento sei offline in attesa che la connessione Internet venga ristabilita

Il tuo browser non è supportato

Devi aggiornare il browser per usare il sito.

Esegui l'aggiornamento all'ultima versione di Internet Explorer

Risoluzione dei problemi di MS DTC causati dal firewall

Dichiarazione di non responsabilità per articoli della Microsoft Knowledge Base su prodotti non più supportati
Questo articolo è stato scritto sui prodotti per cui Microsoft non offre più supporto. L’articolo, quindi, viene offerto ‘così come è’ e non verrà più aggiornato.
Sommario
In questo articolo viene descritta la procedura di risoluzione dei problemi di comunicazione di Microsoft Distributed Transaction Coordinator (MS DTC) con un altro sistema MS DTC tramite un firewall. Nell'elenco seguente sono delineati alcuni problemi che possono verificarsi quando si utilizza MS DTC attraverso un firewall:
  • L'applicazione funziona correttamente quando la proprietà Supporto transazioni dei componenti MTS o COM+ è impostata su Non supportato o su Supportato, ma non funziona correttamente quando la proprietà è impostata su Obbligatorio o Nuovo obbligatorio.
  • Viene visualizzato il messaggio di errore seguente:
    Impossibile aggiungere la nuova transazione all'elenco del coordinatore di transazioni specificato
  • Viene visualizzato il messaggio di errore seguente:
    Errore 8004d00a. Errore di Distributed Transaction Coordinator
Sebbene in diversi altri documenti Microsoft venga descritto come affrontare questo problema, nel presente articolo viene fornita una sintesi della maggior parte di essi.

Nota La procedura di risoluzione dei problemi riportata di seguito può essere utilizzata esclusivamente con i sistemi operativi Microsoft Windows NT e Microsoft Windows 2000.
Informazioni

Procedura di risoluzione dei problemi

  1. Verificare che il servizio MS DTC sia avviato su entrambi i server.
  2. Se sul server viene eseguito Windows NT 4.0, è necessario riapplicare il Service Pack 6 (SP6) di Windows NT 4.0 dopo avere installato l'Option Pack di Windows NT 4.0 (NTOP). Esaminare le versioni di file elencate nella seguente tabella per confermare che Windows NT 4.0 SP6 sia stato riapplicato dopo l'installazione di Windows NT 4.0 Option Pack:

    Nome fileVersione dopo l'installazione di NTOPVersione dopo la reinstallazione di SP6
    Msdtcprx.dll1997.11.5321999.6.854.0
    Msdtctm.dll1997.11.5321999.6.854.0
    Xolehlp.dll1997.11.5321998.08.762

    Per ulteriori informazioni sull'installazione di Windows NT 4.0 Option Pack, vedere il seguente white paper Microsoft (informazioni in lingua inglese):
    IIS 4.0 Recommended Installation Procedure (Procedura consigliata di installazione di IIS 4.0)
    http://support.microsoft.com/support/iis/install/install_iis4.asp
  3. Configurare entrambi i server in modo che le comunicazioni MS DTC passino attraverso il firewall. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
    250367 INFO: Configurazione di Microsoft Distributed Transaction Coordinator (DTC) per comunicazioni attraverso un firewall
    Per ulteriori informazioni sulla configurazione delle porte TCP in Windows 2000, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
    300083 Restrizione di porte TCP/IP su Windows 2000 e Windows XP
  4. Se MS DTC continua a non funzionare con il firewall, scaricare lo strumento DTCPing.exe e installarlo su entrambi i server coinvolti.Il seguente file è disponibile per il download dall'Area download Microsoft (l'installazione è in inglese):
    Il file DTCPing.exe contiene i seguenti file:
       Data        Ora    Versione  Dimensione  Nome file   -------------------------------------------------------------   29/10/2003  22.56  1.8.0.1      274.490  Dtcping.exe   15/12/2003  22.05                 1.618  Eula.txt   24/11/2003  20.59                 1.560  Machinea_failure.log   24/11/2003  20.21                 1.901  Machinea_success.log   24/11/2003  20.55                   999  Machineb_failure.log   24/11/2003  20.31                 1.750  Machineb_success.log   24/11/2003  20.15                 2.325  Readme.txt
    Data di rilascio: 24 novembre 2003

    Per ulteriori informazioni sul download di file di supporto Microsoft, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
    119591 Come ottenere file di supporto Microsoft dai servizi online
    Il file è stato controllato e non contiene virus. Microsoft ha utilizzato il software antivirus più recente disponibile al momento della data di pubblicazione del file. Il file viene salvato su server con un livello di protezione avanzata che impedisce modifiche non autorizzate.
  5. Utilizzare il file Readme.txt (in lingua inglese) incluso in DTCPing.exe per testare le comunicazioni RPC (Remote Procedure Call) e DTC (Distributed Transaction Coordinator) dal Server1 al Server2. Se il test riesce, eseguire il test dal Server2 al Server1.

    Notare che se le comunicazioni RPC non possono viaggiare in una delle direzioni, le comunicazioni MS DTC non funzionano in entrambe le direzioni. Se le comunicazioni RPC non funzionano, nella finestra di DTCPing (su uno dei server) viene visualizzato l'errore, che viene anche salvato nel file dtcping.log associato. Vedere il file Readme.txt per ulteriori informazioni (in lingua inglese). Se il test non riesce in una delle due direzioni e il registro indica che il problema è legato alle comunicazioni RPC, procedere con il passaggio successivo. Se il test non riesce in una delle due direzioni e il registro indica che il problema è legato alle comunicazioni DTC, procedere con il passaggio 9.
  6. Se le comunicazioni RPC non funzionano in almeno una direzione (ad esempio dal Server1 al Server2), chiedere all'amministratore del firewall di assicurarsi che il protocollo ICMP (Internet Control Message Protocol) sia aperto in entrambe le direzioni.

    Nota In genere è possibile stabilire se le comunicazioni RPC non funzionano leggendo il file dtcping.log.

    Per impostazione predefinita, il protocollo ICMP è la porta1. È possibile verificarlo nel file di protocollo, che si trova nella cartella %windir%\WinNT\System32\Drivers\. Eseguire dal Server1 il comando ping per il Server2 utilizzando il nome NetBios. Se il comando ping non riesce, procedere al passaggio successivo. In caso contrario, procedere al passaggio 8.
  7. Eseguire dal Server1 il comando ping per il Server2 utilizzando l'indirizzo IP per assicurarsi che sul firewall sia aperta la porta corretta per il comando ping. Una traccia di Network Monitor consente di verificare questa condizione. Se il comando ping con l'indirizzo IP funziona mentre quello con il nome NetBios non funziona, esiste un problema di risoluzione dei nomi.

    Nota È possibile utilizzare il comando ipconfig /all per recuperare l'indirizzo o gli indirizzi IP di un server.

    Un modo rapido per testare la risoluzione dei nomi consiste nell'inserire una voce nel file Hosts del server client in cui il comando ping con il nome NetBios non funziona. È possibile basare la voce sull'esempio incluso nel file stesso.

    Nota L'inserimento di una voce nel file Hosts può essere effettuato solo al fine di risolvere un problema. Se la nuova voce corregge il problema di risoluzione dei nomi, rimuoverla dal file Hosts e inserirla nel DNS, nel server WINS o nel file LmHosts.

    Per risolvere il problema di risoluzione dei nomi esistono altre soluzioni che però non rientrano nell'ambito di questo articolo.
  8. Se il comando ping per il Server2 dal Server1 utilizzando il nome NetBios non funziona oppure se funziona ma il test DTCPing indica che le comunicazioni RPC continuano a non funzionare, è possibile che la porta 135 (il mapper degli endpoint) non sia aperta bidirezionalmente sul firewall. Controllare il firewall per accertarsi che il mapper degli endpoint sia aperto in entrambe le direzioni. A questo punto una traccia di Network Monitor può essere utile per individuare il problema.
  9. Si giunge a questo passaggio solo se il test DTCPing indica che le comunicazioni RPC funzionano in entrambe le direzioni. Se DTCPing non segnala alcun errore in una direzione o nell'altra, significa che le comunicazioni RPC e MS DTC funzionano correttamente.
  10. Se DTCPing indica che le comunicazioni DTC non funzionano in almeno una direzione (ad esempio dal Server1 al Server2), chiedere agli amministratori del firewall di verificare che siano aperte le porte specificate dallo sviluppatore quando ha esaminato l'articolo sulla configurazione di MS DTC (vedere il passaggio 3). Inoltre al firewall potrebbero essere applicate alcune regole che impediscono le richiamate RPC per un server o l'altro o per entrambi. Una traccia di Network Monitor può risultare utile per risolvere il problema in questa particolare situazione.
  11. Se in DTCPing viene visualizzato un messaggio di errore simile al seguente:
    Errore imprevisto: GUID sessione uguale al GUID del partner
    controllare se il server corrente è stato duplicato o clonato dall'altro server. In caso affermativo, individuare la chiave HKEY_CLASSES_ROOT\CID nel Registro di sistema. In questa chiave è possibile osservare la presenza di più GUID. Individuare il GUID la cui corrispondente chiave Description è MSDTC. Notare che questo GUID è indicato anche nella finestra di output di DTCPing. Se l'altro server ha un GUID esattamente uguale a quello di MS DTC nel relativo Registro di sistema, è necessario creare un nuovo GUID per MS DTC in uno dei Registri di sistema. A questo scopo è possibile utilizzare GuidGens.

    Dopo avere aggiunto questo nuovo GUID e anche tutte le relative chiavi a HKEY_CLASSES_ROOT\CID, assicurarsi di eliminare il vecchio GUID che viene sostituito.

    Se questo passaggio consente di risolvere il problema, è vivamente consigliabile leggere il seguente articolo per ulteriori informazioni sulla duplicazione di computer: Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
    162001 Non duplicare su disco le versioni installate di Windows
Proprietà

ID articolo: 306843 - Ultima revisione: 10/29/2007 14:53:07 - Revisione: 4.1

  • Microsoft COM+ 1.0
  • Microsoft Transaction Services 2.0
  • kbproductlink kbdownload kbdtc kbhowto KB306843
Feedback
TagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">