Partager via


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 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 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 exécutant Windows Server, vous pouvez recevoir le message d’erreur suivant :

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

Le message suivant peut apparaître sur l’ordinateur fournisseur OLE DB :

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

Cause

Ce comportement se produit si le service Distributed Transaction Coordinator (DTS) 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 activer la case à cocher Activer l’accès DTC réseau, 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).