Condividi tramite


Messaggio di errore Il provider OLE DB SQLOLEDB non è riuscito ad avviare una transazione distribuita

Questo articolo consente di risolvere il problema che il messaggio di errore del provider OLE DB SQLOLEDB non è riuscito ad avviare una transazione distribuita.

Versione originale del prodotto: SQL Server
Numero KB originale: 816701

Sintomi

Quando si tenta di usare Microsoft SQL Server per avviare una transazione distribuita tra server collegati che eseguono Windows Server, è possibile che venga visualizzato il messaggio di errore seguente:

Il provider OLE DB SQLOLEDB non è riuscito ad avviare una transazione distribuita

È possibile che nel computer del provider OLE DB venga visualizzato il messaggio seguente:

Impossibile integrare una nuova transazione nel coordinatore transazioni specificato.

Causa

Questo comportamento si verifica se il servizio Distributed Transaction Coordinator (DTS) è disabilitato o se l'accesso DTC di rete è disabilitato. Per impostazione predefinita, l'accesso DTC di rete è disabilitato in Windows Server.

Soluzione alternativa

Per ovviare a questo comportamento, installare l'accesso DTC di rete in entrambi i server:

  1. Fare clic sul pulsante Start e quindi scegliere Pannello di controllo.
  2. Fare clic su Installazione applicazioni e quindi su Aggiungi/Rimuovi componenti di Windows.
  3. Nella casella Componenti fare clic su Server applicazioni e quindi su Dettagli.
  4. Fare clic per selezionare la casella di controllo Abilita accesso DTC di rete e quindi fare clic su OK.
  5. Fare clic su Avanti e quindi seguire le istruzioni visualizzate sullo schermo per completare il processo di installazione.
  6. Arrestare e quindi riavviare il servizio Distributed Transaction Coordinator.
  7. Arrestare e quindi riavviare tutti i servizi di Resource Manager che partecipano alla transazione distribuita, ad esempio Microsoft SQL Server o Microsoft Message Queue Server.