Найти тему
Merion Academy

No transaction is active: решение проблемы с SQL

Оглавление

Существует такая штука, как связанные сервера (Linked server). Эта фича помогает, когда нужно объединить несколько объектов, такие как БД, например. Но иногда данная связка сбоит следующим образом:

OLE DB provider "SQLNCLI11" for linked server "MERION\SL2SQLEXPRESS" returned message "No transaction is active."

Неприятно, да? Но решение есть.

РЕШЕНИЕ

Переходим в Component Services. Для его поиска можно воспользоваться поиском в Windows:

Выбираем Component ServicesComputersMy ComputerDistributed Transaction CoordinatorLocal DTC. Кликаем правой кнопкой мыши на Local DTC и выбираем Properties:

-2

Прыгаем во вкладку Security и отмечаем опции, как показано на скриншоте ниже:

-3

НЕ ПОМОГЛО? ВОТ ЕЩЕ СПОСОБ

Подключаем тяжелую артиллерию – сейчас мы будем удалять компонент msdtc и будем ставить его заново. А еще немного подкрутим регистр. Поехали – открываем консоль (cmd сервера) и даем следующую команду:

msdtc -uninstall
-4

Огонь. Вызываем регистр:

regedit.exe

Теперь удаляем следующие ключи в регистре:

  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC;
  • HKEY_CLASSES_ROOT\CID;
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC;

А теперь заново установим msdtc:

msdtc –install
-5

После проделанных манипуляций, данная ошибка у нас пропала :)