Message d’erreur : le fournisseur OLE DB SQLOLEDB n’a pas pu démarrer une transaction distribuée

Cet article vous aide à contourner le problème lié au fait que le message d’erreur du fournisseur OLE DB SQLOLEDB n’a pas pu démarrer une transaction distribuée.

Version du produit d’origine : SQL Server
Numéro de la base de connaissances d’origine : 816701

Symptômes

Lorsque vous essayez d’utiliser Microsoft SQL Server pour démarrer une transaction distribuée entre des serveurs liés qui exécutent Windows Server, le message d’erreur suivant peut s’afficher :

Le fournisseur OLE DB SQLOLEDB n’a pas pu démarrer une transaction distribuée

Le message suivant peut s’afficher sur l’ordinateur du fournisseur OLE DB :

La nouvelle transaction ne peut pas s’inscrire dans le coordinateur de transactions spécifié.

Cause

Ce comportement se produit si le service DTS (Distributed Transaction Coordinator) est désactivé ou si l’accès DTC réseau est désactivé. Par défaut, l’accès DTC réseau est désactivé dans Windows Server.

Solution de contournement

Pour contourner ce comportement, installez l’accès DTC réseau sur les deux serveurs :

  1. Cliquez sur Démarrer, puis sur Panneau de configuration.
  2. Cliquez sur Ajouter ou supprimer des programmes, puis sur Ajouter/Supprimer des composants Windows.
  3. Dans la zone Composants , cliquez sur Serveur d’applications, puis sur Détails.
  4. Cliquez pour sélectionner la zone Activer l’accès DTC réseau case activée, puis cliquez sur OK.
  5. Cliquez sur Suivant, puis suivez les instructions qui s’affichent à l’écran pour terminer le processus d’installation.
  6. Arrêtez, puis redémarrez le service Distributed Transaction Coordinator.
  7. Arrêtez, puis redémarrez tous les services Resource Manager qui participent à la transaction distribuée (par exemple, Microsoft SQL Server ou Microsoft Message Queue Server).