Se cayó la conexión SSIS

I have an SSIS package that within a data flow task fetches a lot of data using an OLEDB connection. When i run the package from my local machine it sometimes fails with the following error (snippet):

    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. 

If I deploy the package to the server and run it with an agent job nothing goes wrong. The error is periodical which makes it hard for me to debug....

Have anyone else had similar errors or do anyone have ideas of how to solve this?

EDIT: It seems that the problem is solved. We haven't had connection problems since we disabled TCP Chimney.

preguntado el 09 de marzo de 12 a las 13:03

Thx, for your comments. I have tried to look beoynd the SSIS package and so far i think it is a network thing. I have disabled TCP Chimney as this apparently can cause SSIS connections to be dropped. So far the error is gone but as it is periodic I'm not putting my head on the block yet. I will write again in a weeks time and tell what the status is :-) -

4 Respuestas

I don't think there's enough information here to isolate the root cause of the error. That's not SSIS' fault. There are error returned from various providers and SSIS simply "forwards" them. There are likely clues in the error message pointing to the cause.

I once spent a lot of time trying to fix a connectivity issue in SSIS and SQL Server. The root cause turned out to be one of the DCs had gone offline...

Andy

respondido 12 mar '12, 00:03

Does it run for a long time? Is the server where you deploy the package the same server where you read the data from?

If so, your problem might be external. I have similar issues with some heavy data transfer packages i run. Sometimes they fail if the server is too loaded with other processes. If that is the case, it is an external problem.

My advice is that you try to pinpoint the source of the error (trying to overload a test server while you run the package, or look for timeouts on the connection) and circumvent the limitation through a retry mechanism, or by running the package on lower traffic times.

respondido 09 mar '12, 15:03

well, 0xC0202009 is a DTS_E_OLEDBERROR error (http://msdn.microsoft.com/en-us/library/ms345164.aspx) and dbnetlib.dll process "has the ability to send keep-alive TCP/IP packets to Microsoft SQL Server in order to maintain the connection" (this is from BOL)

I would say something related timeouts. There is a command timeout propertie on the OLE DB Source component. Can you check the value? Or maybe on the connectionstring on the Connection manager

respondido 09 mar '12, 16:03

Nobody's done anything with this post in two years, but I ran into this error and found that the size of the data set determined whether this error was thrown or not. Oddly, when running the SSIS program through the IDE, I didn't get the error. It's only in production mode that I found this error occurring.

The solution, I found, was to break up my data sets (which were being written to XML) using something like this to limit the amount of data returned:

select * from (
   select *, row_number() over (order by a.pkey asc) 'ranker' from sometable
  ) where Ranker <500000

Sucks, but that's what I found worked.

Respondido el 04 de junio de 14 a las 12:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.