Mensagem de erro O PROVEDOR OLE DB SQLOLEDB não pôde iniciar uma transação distribuída

Este artigo ajuda você a contornar o problema de que a mensagem de erro do SQLOLEDB do provedor OLE DB não pôde iniciar uma transação distribuída.

Versão original do produto: SQL Server
Número de KB original: 816701

Sintomas

Ao tentar usar o Microsoft SQL Server para iniciar uma transação distribuída entre servidores vinculados que estão executando o Windows Server, você pode receber a seguinte mensagem de erro:

O SQLOLEDB do provedor OLE DB não pôde iniciar uma transação distribuída

A seguinte mensagem pode aparecer no computador do provedor OLE DB:

A nova transação não pode ser alistada no coordenador de transações especificado.

Motivo

Esse comportamento ocorrerá se o serviço DTS (Coordenador de Transações Distribuídas) estiver desabilitado ou se o acesso DTC de rede estiver desabilitado. Por padrão, o acesso DTC de rede está desabilitado no Windows Server.

Solução alternativa

Para contornar esse comportamento, instale o acesso de DTC de rede em ambos os servidores:

  1. Clique em Iniciar e depois em Painel de Controle.
  2. Clique em Adicionar ou Remover Programas e clique em Adicionar/Remover Componentes do Windows.
  3. Na caixa Componentes , clique em Servidor de Aplicativo e clique em Detalhes.
  4. Clique para selecionar a caixa Habilitar acesso ao DTC de rede marcar e clique em OK.
  5. Clique em Avançar e siga as instruções que aparecem na tela para concluir o processo de instalação.
  6. Pare e reinicie o serviço coordenador de transações distribuídas.
  7. Pare e reinicie todos os serviços do gerenciador de recursos que participem da transação distribuída (como Microsoft SQL Server ou Microsoft Message Queue Server).