Недавно мы проводили эксперименты для того чтобы определить
какие ошибки возникают в работе MSDTC при обновлении системы
до Windows 2003, на которой работают независимо друг от друга
web сервер и сервер баз данных. DTC прекрасно работает с
серверами Windows 2000 и локально (с собой), но не между
серверами Win2003. В данной статье рассматривается ряд
проверок, помогающих в конечном итоге решить наши
проблемы.
ПРИМЕЧАНИЕ - Рекомендуется, чтобы Вы перезагрузили
оба сервера между каждым изменением DTC.
Утилиты
Служба технической поддержки Microsoft рекомендует
использовать три утилиты для отладки работы MSDTC и связанных
с этим ошибок:
Эту проверку необходимо выполнять на обоих серверах Win
2003, на которых должна работать служба MSDTC. В главном
меню выбрать Администрирование (Administrative tools), выбрать
Службы компонентов (Component Services) ->
Компьютеры(Computers) , затем нажав правую кнопку мыши войти в
меню Свойства (Properties). В появившемся окне на вкладке
MSDTC имеется кнопка "Security Configuration". Нажмите на нее,
и удостоверитесь, что сетевые транзакции разрешены.
Запустите "Панель Управления", "Добавить / Удалить
Программы", "Добавить / Удалить компоненты Windows", выберите
"Сервер приложений" и нажмите details. Убедитесь в том, что
установлен флаг "Enable network DTC access", там же можно
проверить разрешен ли доступ по сети к COM+
Проверка 3 -
Расположен ли Firewall между БД и Web-сервером?
MSDTC устанавливает 2-х уровневое подключение к MSRPC (в
котором используется динамическое распределение портов).
Изучите статью 250367 базы знаний Майкрософт, чтобы
сконфигурировать работу MSDTC через брандмауэр: Q250367
http://support.microsoft.com/?id=250367, а также ссылающуюся
на нее статью Требуется
перезагрузка обоих серверов: web - сервера и сервера баз
данных.
Проверка 4 -
Только для Win 2003 - возврат к Win 2000
Перед рассмотрением этого сценария убедитесь что проверки 1
и 2 произведены. После этого, прочитайте следующую статью, в
которой обсуждается, как настроить DTC между web-сервером и
сервером баз данных, работающих на платформе Windows Server
2003. Если
у Вас все проверки прошли успешно, добавьте\измените следующий
ключ реестра, где значение 1 означает - Включено (ON):
Проверка 5 -
Только для Win 2003 - установки безопасности по умолчанию для
COM+
Для вновь созданных в COM 1.5 (Windows 2003) контейнеров
COM+, по умолчанию устанавливается опция "enforce access
checks for this application" (осуществлять проверку доступа
для этого приложения)
Не снимайте этот флаг в случае если у Вас имеются проблемы
доступа к компоненту или скрытые ошибки объектов до исполнения
библиотек. В обновлённых до последней версии операционных
системах и их контейнерах эта опция не установлена. Кроме
того, можно ещё изучить следующую статью: