DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 306843 - Dernière mise à jour: lundi 29 octobre 2007 - Version: 4.1

 

Sommaire

Résumé

Cet article décrit des étapes de dépannage pour vous aider à activer MS DTC (Microsoft Distributed Transaction Coordinator) pour communiquer à travers un pare-feu avec un autre MS DTC. La liste suivante présente quelques-uns des problèmes que vous pouvez rencontrer lorsque vous utilisez MS DTC à travers un pare-feu.
  • Votre application fonctionne correctement lorsque vos composants MTS ou COM+ ont le jeu de propriétés Prise en charge de transactions défini à Non pris en charge ou Pris en charge, mais il ne fonctionne pas lorsque cette propriété a la valeur Requiert ou Nouvelle transaction requise.
  • Le message d'erreur suivant s'affiche :
    Impossible d'inscrire la nouvelle transaction dans le coordinateur de transactions spécifié
  • Le message d'erreur suivant s'affiche :
    Erreur 8004d00a. Erreur de transaction distribuée
Bien que plusieurs autres documents Microsoft décrivent comment faire pour corriger ce problème, cet article résume la plupart d'entre eux.

Remarque Les étapes de dépannage ci-dessous sont conçues uniquement pour une utilisation avec les systèmes d'exploitation Microsoft Windows NT et Microsoft Windows 2000.

Plus d'informations

Étapes de dépannage

  1. Vérifiez que le service MS DTC est démarré sur les deux serveurs.
  2. Si votre serveur exécute Windows NT 4.0, vous devez réappliquer Windows NT 4.0 Service Pack 6 (SP6) après avoir installé Windows NT 4.0 Option Pack (NTOP). Contrôlez les versions de fichier qui sont répertoriées dans le tableau suivant pour vérifier que Windows NT 4.0 SP6 a été appliqué de nouveau après l'installation de Windows NT 4.0 Option Pack :

    Réduire ce tableauAgrandir ce tableau
    Nom de fichierVersion après avoir installé NTOPVersion après avoir réinstallé SP6
    Msdtcprx.dll1997.11.5321999.6.854.0
    Msdtctm.dll1997.11.5321999.6.854.0
    Xolehlp.dll1997.11.5321998.08.762

    Pour plus d'informations sur l'installation de Windows NT 4.0 Option Pack, consultez le livre blanc Microsoft suivant :
    Procédure d'installation recommandée d'IIS 4.0 (en anglais)
    http://support.microsoft.com/support/iis/install/install_iis4.asp (http://support.microsoft.com/?scid=http%3a%2f%2fsupport.microsoft.com%2fsupport%2fiis%2finstall%2finstall_iis4.asp)
  3. Configurez les deux serveurs afin que la communication MS DTC passe par le pare-feu. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
    250367  (http://support.microsoft.com/kb/250367/ ) INFO : Configuration de Microsoft DTC (Distributed Transaction Coordinator) pour fonctionner avec un pare-feu
    Pour plus d'informations sur la façon de configurer les ports TCP sur Windows 2000, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
    300083  (http://support.microsoft.com/kb/300083/ ) Comment faire pour interdire des ports TCP/IP sur Windows 2000 et Windows XP
  4. Si MS DTC ne fonctionne toujours pas avec le pare-feu, téléchargez l'outil DTCPing.exe et installez-le sur les deux serveurs concernés.Vous pouvez télécharger le fichier suivant à partir du Centre de téléchargement Microsoft :
    Réduire cette imageAgrandir cette image
    http://download.microsoft.com/download/
    Télécharger DTCPing.exe maintenant (http://download.microsoft.com/download/d/0/0/d00c8f6b-135d-4441-a97b-9de16a1935c1/dtcping.exe)
    Le fichier DTCPing.exe contient les fichiers suivants :
       Date        Heure  Version  Taille   Nom de fichier
       ----------------------------------------------------------
       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
    Date de publication : 24 novembre 2003

    Pour plus d'informations sur la façon de télécharger des fichiers du Support technique Microsoft, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
    119591  (http://support.microsoft.com/kb/119591/ ) Comment obtenir des fichiers de support technique Microsoft auprès des services en ligne
    Microsoft a analysé ce fichier en vue de détecter la présence de virus. Microsoft a utilisé les logiciels de détection de virus les plus récents disponibles à la date de publication de ce fichier. Le fichier est conservé sur des serveurs sécurisés, empêchant toute modification non autorisée du fichier.
  5. Utilisez le fichier Readme.txt qui est inclus dans le téléchargement DTCPing.exe pour tester la communication entre l'appel de procédure distante (RPC) et DTC de Server1 à Server2. Si ce test réussit, exécutez le test de Server2 vers Server1.

    Notez que si RPC ne peut pas s'effectuer dans les deux sens, la communication MS DTC échoue dans les deux sens. Si la communication RPC échoue, la fenêtre DTCPing (sur les deux serveurs) affiche cette défaillance, qui est également enregistrée dans le fichier dtcping.log correspondant. Consultez le fichier Readme.txt pour plus d'informations. Si le test échoue dans l'une ou l'autre direction et que le journal indique que la défaillance survient au niveau de la communication RPC, passez à l'étape suivante. Si le test échoue dans l'une ou l'autre direction et que le journal indique que la défaillance survient au niveau de la communication DTC, passez à l'étape 9 ci-dessous.
  6. Si RPC a échoué dans au moins une direction (par exemple, de Server1 à Server2), demandez à l'administrateur de votre pare-feu de vérifier que ICMP est ouvert dans les deux sens.

    Remarque Vous pouvez déterminer si RPC a échoué en prenant connaissance du fichier journal dtcping.log.

    Par défaut, ICMP est port1. Vous pouvez le vérifier dans votre fichier de protocole situé dans le dossier %windir%\WinNT\System32\Drivers. Exécutez une commande Ping sur Server2 par nom NetBIOS à partir de Server1. Si la commande ping échoue, passez à l'étape suivante. Sinon, passez à l'étape 8.
  7. Exécutez une commande Ping sur Server2 par adresse IP à partir de Server1 pour vous s'assurer que le port correct est ouvert pour une commande ping sur le pare-feu. Une trace du Moniteur réseau peut contrôler cela. Si le ping de l'adresse IP réussit et le ping du nom NetBIOS échoue, il y a un problème de résolution de noms.

    Remarque Vous pouvez utiliser la commande ipconfig /all pour récupérer l'adresse IP ou les adresses IP d'un serveur.

    Une façon rapide de tester la résolution de noms est de créer une entrée dans le fichier Hosts du serveur client. Il s'agit du serveur sur lequel le ping du nom NetBIOS a échoué. Vous pouvez modéliser votre entrée sur l'exemple d'entrée incluse dans le fichier.

    Remarque Vous ne devez créer une entrée dans le fichier Hosts que dans un but de dépannage. Si la nouvelle entrée corrige le problème de résolution de noms, supprimez cette entrée du fichier Hosts et créez l'entrée dans le fichier DNS, le fichier serveur WINS ou le fichier LmHosts.

    D'autres solutions aux problèmes de résolution de noms existent, mais elles n'entrent pas dans le cadre de cet article.
  8. Si le ping de Server2 à partir de Server1 par nom NetBIOS échoue ou si le ping de Server2 à partir de Server1 par nom NetBIOS réussit mais que le test DTCPing indique que la communication RPC échoue toujours, il est possible que le port 135 (EPM ou End Point Mapper) ne soit pas ouvert de façon bidirectionnelle sur le pare-feu. Contrôlez le pare-feu pour vous s'assurer que l'EPM est ouvert dans les deux sens. À ce stade, une trace de Moniteur réseau peut aider à identifier le problème.
  9. Vous arrivez à cette étape si le test DTCPing indique que la communication RPC fonctionne dans les deux sens. Si DTCPing n'indique pas d'erreurs dans l'un ou l'autre sens, la communication RPC et MS DTC est normale.
  10. Si DTCPing indique que la communication DTC a échoué dans au moins un sens (par exemple, de Server1 à Server2), demandez aux administrateurs du pare-feu de vérifier que les ports sont ouverts (les ports spécifiés par le développeur lors de la configuration MS DTC (consultez l'étape 3)). De plus, certaines règles, interdisant des rappels RPC pour l'un et/ou l'autre des serveurs, peuvent être appliquées au pare-feu. Une trace de Moniteur réseau peut aider à résoudre les problèmes de ce scénario spécifique.
  11. Si DTCPing retourne un message d'erreur identique au suivant :
    Inattendu : Le guid de ma session est identique à celui du partenaire
    vérifiez que le serveur actuel a été dupliqué ou a été cloné à partir de l'autre serveur. Si tel est le cas, recherchez la clé HKEY_CLASSES_ROOT\CID dans le Registre. Sous cette clé, vous remarquez plusieurs GUID. Recherchez le GUID dont la clé Description sous-jacente est MSDTC. Remarquez que ce GUID est également répertorié dans la fenêtre de sortie DTCPing. Si l'autre serveur a un GUID qui est exactement le même MS DTC dans son Registre, vous devez créer un nouveau GUID pour MS DTC dans l'un des Registres. Vous pouvez utiliser GuidGen pour cela.

    Après avoir ajouté ce nouveau GUID et toutes les clés sous-jacentes à HKEY_CLASSES_ROOT\CID, assurez-vous de supprimer l'ancien GUID qu'il remplace.

    Si cette étape résout votre problème, il est fortement recommandé de lire l'article suivant pour plus d'informations sur la duplication d'ordinateurs : Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
    162001  (http://support.microsoft.com/kb/162001/ ) Ne pas dupliquer des images de disque des versions installées de Windows

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft COM+ 1.0
  • Microsoft Transaction Services 2.0
Mots-clés : 
kbproductlink kbdownload kbdtc kbhowto KB306843
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Article KB retiré.Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store