Триггер Sql Server 2000, который ссылается на базу данных Sql Server 2008, завершается неудачно - PullRequest
0 голосов
/ 06 апреля 2009

У нас есть приложение базы данных Sql Server 2000, которое должно обновлять базу данных Sql Server 2008 наших приложений при изменении определенных таблиц. Для этого мы используем триггер на сервере Sql 2000, который запускает хранимую процедуру на нашем сервере Sql 2008. При попытке из SMSS я получаю это сообщение:

The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.

Наше приложение использовало базу данных Sql Server 2005, но мы обновили серверы в эти выходные. Связанные объекты сервера имеют ту же конфигурацию, что и на старом сервере. Вот моя конфигурация DTC. Что-нибудь еще может пойти не так?

Конфигурация DC http://yourcls.com/dtc-configuration.png

Ответы [ 2 ]

0 голосов
/ 06 апреля 2009

Оказывается, в том же окне настройки безопасности DTC на нашем сервере Sql 2000 не был включен сетевой доступ по DTC. Это, очевидно, прекрасно работало на нашем старом сервере, но когда мы обновились до Server 2008 и Sql Server 2008, это нужно было включить на ОБАХ серверах. Это загадка.

0 голосов
/ 06 апреля 2009

Google придумал эту статью базы знаний для меня. Из вашего скриншота видно, что у вас правильно настроен DTC (хотя я скиммирую, обязательно перепроверьте). Вы проверили настройки брандмауэра?

...