Answer the question
In order to leave comments, you need to log in
Different SSIS behavior in MSSQL 2012 and 2014?
We use SSIS to load data from sybase ASE 15.7 into MS SQL.
Initially, the package was created in VS 2010 and successfully worked on MS SQL 2012, after that the new MS SQL 2014 and VS2013 were deployed, the package would be transferred to a new server and one unpleasant feature was noticed here.
The package contains 26 parallel DataFlow blocks that use one Connection Manager object, which in turn uses the Sybase ASE ODBC driver.
If you run the package from VS2010 and MSSQL 2012, then each DataFlow creates one connection to the Sybase database during operation and closes the connection after completion, thus initially creating 26 connections, which decrease to 0 during operation. Process monitoring shows that all connections are created from the Devenv.exe process
If you run the same package from VS2013 and MSSQL 2014, then immediately when you open the package in the studio, it creates 26 connections from devenv.exe, when you start the package, another 26 connections are immediately created, but already from the DtsDebugHost.exe process, in the process of working from this the same process creates an additional number of connections, each time different, while 80% of all connections are in the sleep status.
It seems to be not an error, but the problem is that the number of connections to Sybase is limited by the license and the execution of the package creates more connections than allowed by the license and the execution of the package stops with an error.
Additionally, I note that RetainSameConnection is set to false and does not play a role in this situation.
The server environment is completely identical.
What is the reason for this behavior of SSIS on the 2014 server and is it possible to somehow make it behave like in MSSQL 2012?
Answer the question
In order to leave comments, you need to log in
I did not find a definite answer, but during the experiments it was found that the dtsdebughost process is created only in the studio and only in 2013. This is not the case in 10 and 12 studios.
When the package is launched through the sql agent, a number of connections are created on the server equal to the number of dataflow blocks without retainsameconnection, plus the number of connectionmanagers with the retainsameconnection option enabled.
As a result, we got out as follows, created 2 connectionmanegera (cm) in one, wrapped all the little things with the rts true option, in the second all the large tables with the rts false option, thus getting the number of connections to the database less than 20, and literally lost in speed 30 seconds.
In addition, the studio turned on the delayedvalidation option for everything, so that it does not create connections when opening the package.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question