Связанный сервер, связанный - PullRequest
0 голосов
/ 04 февраля 2010

У меня есть два экземпляра SQL Server:

  • Сервер1 (SQL Server 2008)
  • Сервер2 (SQL Server 2005)

Я выполняю хранимую процедуру с Сервера1, которая ссылается на таблицы на Сервере 2.

Он отлично работает в моей тестовой среде:

  • Сервер1 работает под управлением Vista SP2, SQL Server 2008;
  • Сервер2 работает под управлением Windows XP SP2, SQL Server 2005.

Однако в производственной среде он не работает:

  • Сервер1 работает под управлением Vista SP1, SQL Server 2008;
  • Сервер2 работает под управлением Windows XP SP2, SQL Server 2005.

Я получаю сообщение об ошибке:

Поставщик OLE DB «SQLNCLI10» для связанного сервера «Server2» вернул сообщение «Нет активных транзакций».
Сообщение 7391, уровень 16, состояние 2, строка 21
Не удалось выполнить операцию, поскольку поставщику OLE DB «SQLNCLI10» для связанного сервера «Server2» не удалось начать распределенную транзакцию.

Ответы [ 4 ]

3 голосов
/ 28 мая 2010

Статья по вышеуказанному вопросу опубликована на SQLVillage.com http://www.sqlvillage.com/Articles/Distributed%20Transaction%20Issue%20for%20Linked%20Server%20in%20SQL%20Server%202008.asp

2 голосов
/ 01 декабря 2011

Возможно, вы захотите попытаться отключить удаленные транзакции все вместе, если вам не нужно обновлять удаленные таблицы.

Перейти к свойствам связанного сервера (если вы его используете)."и установите для параметра" Включить продвижение распределенных транзакций "значение" Ложь ".

Это сработало для меня.;)

1 голос
/ 04 февраля 2010

«Невозможно начать распределенную транзакцию» обычно означает, что DTC отключен на одной или обеих машинах.Чтобы решить:

  • Пуск-> Выполнить dcomcnfg
  • Разверните Службы компонентов, Компьютеры
  • Щелкните правой кнопкой мыши Мой компьютер, перейдите в Свойства
  • Нажмите вкладку MSDTC
  • В Vista: нажмите вкладку «Свойства по умолчанию», установите флажок «Включить распределенный COM на этом компьютере»
  • В XP: нажмите вкладку «MSDTC», нажмите «Конфигурация безопасности»,установите флажок «Доступ по DTC по сети».
  • Нажмите кнопку «ОК», перезапустите MSDTC.

Если это не помогло решить проблему, возможно, возникла эта проблема: KB954950 ,Вы удостоверились, что установили все обновления?

Если я не вернусь к ошибке сервера, я думаю, что они более осведомлены об этом ...

0 голосов
/ 04 февраля 2010

Вы настроили MSDTC в производстве?

Двумя частыми причинами являются то, что DTC не запускается на одной или всех машинах и не имеет подходящей учетной записи домена для всех DTC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...