Периодический сбой включения пакета служб SSIS в транзакцию DTC - PullRequest
5 голосов
/ 23 марта 2009

Наши пакеты случайно сбиваются со следующим сообщением об ошибке:

Код ошибки служб SSIS DTS_E_OLEDBERROR. Произошла ошибка OLE DB. Код ошибки: 0x8004D00A. Информация об объекте ошибки COM доступна. Источник: «[Some Package Name]» код ошибки: 0x8004D00A Описание: "Среде выполнения служб SSIS не удалось подключиться к соединению OLE DB в распределенной транзакции с ошибкой 0x8004D00A «Невозможно подключиться к транзакции».

Это не происходит постоянно, и повторный запуск пакета часто завершается успешно, поэтому я не думаю, что это проблема с DTC или конфигурацией сети. Это происходит независимо от того, запускаем ли мы пакет из Studio или через задание агента SQL. В последнем случае пакет работает на том же экземпляре SQL Server, к которому он пытается подключиться.

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

Любые предложения, с благодарностью полученные в этот момент!

Сведения о SQL Server: 64-разрядная версия Enterprise Edition (v9.0.3233), работающая на 64-разрядной версии Enterprise Server 2003 (3790). Серверы работают под управлением E5345 Xeons с 6 ГБ ОЗУ.

1 Ответ

4 голосов
/ 01 июля 2009

Мы нашли ответ в конце - в потоке управления было две независимых задачи, которые устанавливали соединения с одной и той же базой данных. Очевидно, что где-то есть какое-то состояние гонки, которое делает его неудачным. Добавление ограничения приоритета для принудительного выполнения задач последовательно решило проблему.

...