2009-04-06 2 views
0

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

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

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

dtc configuration http://yourcls.com/dtc-configuration.png

ответ

0

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

0

Google придумал this knowledge base article для меня. С вашего скриншота, похоже, у вас есть DTC настроен правильно (хотя я skimming, определенно дважды проверьте его). Вы проверили настройки брандмауэра?

+0

Yup. Трафик DTC разрешен, но на самом деле у нас на данный момент наш брандмауэр Windows на этом компьютере. (он не выставлен) –