2015-04-08 5 views
0

Для загрузки данных я использую пакет SSIS (VS2010) на MSSQL 2012. Он загружает данные из Sybase ASE (ODBC) в MSSQL 2012 (OLEDB). Все работает отлично, и он использует небольшое количество соединений с Sybase.SSIS создает слишком много соединений с DB

Затем я перенес свой пакет в SSIS (VS2013) на MSSQL 2014, и теперь у меня странная ситуация.

Когда я открываю свой пакет в VS2013, он создает одно соединение с Sybase для каждого шага потока данных из файла devenv.exe. Затем я запускаю свой пакет, и он создает еще одно соединение для каждого этапа потока данных из DtsDebugHost.exe, и во время запуска он создает еще больше соединений из DtsDebugHost.exe, и почти все соединения находятся в состоянии «AWAITING COMMAND». Я имею ограничение лицензии 250 подключений к Sybase, и мой пакет нарушает это ограничение.

Почему это странное поведение происходит в SSIS 2014 года? Как я могу с этим справиться?

ответ

1

Почему разница между версиями, у меня нет ответа.

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

Разрешение, однако, заключается в том, чтобы установить свойство RetainSameConnection в диспетчере соединений ASE на значение True. Это позволит SSIS открывать несколько соединений, а вместо этого использовать все для использования одного соединения.

+0

Это не совсем моя ситуация. Я знал о RetainSameConnection и вообще не использую его. У меня есть 26 задач потока данных в моем пакете. SSIS на MSSQL2012 и VS 2010 создает 26 подключений sybase, используя один диспетчер соединений ODBC, это нормально. Но SSIS на MSSQL2014 и VS2013 каждый раз создает случайное количество соединений, но всегда вдвое больше 26. –

Смежные вопросы