Соединение с SSIS разорвано - PullRequest
0 голосов
/ 09 марта 2012

У меня есть пакет служб SSIS, который в рамках задачи потока данных извлекает много данных, используя соединение OLEDB. Когда я запускаю пакет с моей локальной машины, иногда происходит сбой со следующей ошибкой (фрагмент):

    Warning: 0x80019002 at OnError: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. [..]
    Error: 0xC0202009 at DFT Transform, SRC BSASREL1 [1]: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.
    An OLE DB record is available.  Source: "Microsoft OLE DB Provider for SQL Server"  Hresult: 0x80004005  Description: "[DBNETLIB][ConnectionRead (recv()).]Generel netværksfejl. [..]
    Error: 0xC0047038 at DFT Transform, SSIS.Pipeline: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.  The PrimeOutput method on component "SRC BSASREL1" (1) returned error code 0xC0202009.  
The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, 
but the error is fatal and the pipeline stopped executing. 

Если я разверну пакет на сервере и запущу его с заданием агента, все будет в порядке. Ошибка периодическая, что затрудняет мне отладку ....

Кто-нибудь еще имел подобные ошибки или у кого-нибудь есть идеи, как решить эту проблему?

РЕДАКТИРОВАТЬ: Кажется, что проблема решена. У нас не было проблем с подключением, так как мы отключили TCP Chimney.

Ответы [ 4 ]

2 голосов
/ 12 марта 2012

Не думаю, что здесь достаточно информации, чтобы выделить основную причину ошибки. Это не вина SSIS. От разных провайдеров возвращаются ошибки, и SSIS просто «перенаправляет» их. Вероятно, в сообщении об ошибке есть подсказки, указывающие на причину.

Однажды я потратил много времени, пытаясь исправить проблему с подключением в службах SSIS и SQL Server. Основной причиной оказалось то, что один из контроллеров отключился ...

Andy

1 голос
/ 09 марта 2012

Долго ли он работает? Является ли сервер, на котором вы развернули пакет, тем же сервером, с которого вы читали данные?

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

Мой совет заключается в том, чтобы вы попытались точно определить источник ошибки (пытаясь перегрузить тестовый сервер во время запуска пакета или найти тайм-ауты для соединения) и обойти ограничение с помощью механизма повторных попыток или с помощью пакет при меньшем времени трафика.

0 голосов
/ 04 июня 2014

Никто ничего не делал с этим постом за два года, но я столкнулся с этой ошибкой и обнаружил, что размер набора данных определяет, была ли эта ошибка выброшена или нет.Как ни странно, при запуске программы SSIS через IDE я не получил ошибку.Эта ошибка возникла только в производственном режиме.

Решение, которое я нашел, состояло в том, чтобы разбить мои наборы данных (которые были записаны в XML), используя что-то вроде этого, чтобы ограничить количество возвращаемых данных:но вот что я нашел сработало.

0 голосов
/ 09 марта 2012

хорошо, 0xC0202009 - это ошибка DTS_E_OLEDBERROR (http://msdn.microsoft.com/en-us/library/ms345164.aspx), а процесс dbnetlib.dll "имеет возможность отправлять пакеты поддержки TCP / IP на Microsoft SQL Server для поддержания соединения" (это из BOL)

Я бы сказал, что-то связано с таймаутами. Существует свойство тайм-аута команды для компонента источника OLE DB. Можете ли вы проверить значение? Или, может быть, на строке подключения в диспетчере подключений

...