Поделиться через


Сообщение об ошибке поставщика OLE DB SQLOLEDB не удалось начать распределенную транзакцию

В этой статье показано, как устранить проблему, связанную с сообщением об ошибке поставщика OLE DB SQLOLEDB, не удалось начать распределенную транзакцию.

Исходная версия продукта: SQL Server
Исходный номер базы знаний: 816701

Симптомы

При попытке использовать Microsoft SQL Server для запуска распределенной транзакции между связанными серверами под управлением Windows Server может появиться следующее сообщение об ошибке:

Поставщик OLE DB SQLOLEDB не смог начать распределенную транзакцию

На компьютере поставщика OLE DB может появиться следующее сообщение:

Новая транзакция не может быть зачислена в указанный координатор транзакций.

Причина

Это происходит, если служба координатора распределенных транзакций (DTS) отключена или если доступ к сети DTC отключен. По умолчанию доступ к сети DTC отключен в Windows Server.

Обходное решение

Чтобы обойти это поведение, установите сетевой доступ DTC на обоих серверах:

  1. Нажмите кнопку Пуск и выберите Панель управления.
  2. Нажмите кнопку "Добавить или удалить программы", а затем нажмите кнопку "Добавить и удалить компоненты Windows".
  3. В поле "Компоненты" щелкните "Сервер приложений" и нажмите кнопку "Сведения".
  4. Установите флажок "Включить доступ к сети DTC" и нажмите кнопку "ОК".
  5. Нажмите кнопку "Далее", а затем следуйте инструкциям, которые отображаются на экране, чтобы завершить процесс установки.
  6. Остановите и перезапустите службу координатора распределенных транзакций.
  7. Остановите и перезапустите все службы диспетчера ресурсов, участвующие в распределенной транзакции (например, Microsoft SQL Server или Сервер очереди сообщений Майкрософт).