We have several SSIS packages that pull data from an outside DB2 database by way of a DB2OLEDB driver (version 2). This particular SSIS package pulls data from 5 different DB2 tables to SQL Server, at which point the SQL staging table gets truncated and repopulated with the latest days' data.
There was a problem with this package over the weekend, but it wasn't a package or Job failure: the package itself never completed, it just ran and ran. Monday morning, one of the IT guys noticed it still running (nearly 48 hours into it) and aborted it. During investigation, we found that 4 of the DB2 tables' contents had been copied over successfully to our staging tables by the SSIS package, but one of the tables didn't get a single row copied over. It's a case of "DB2OLEDB driver hung in the middle of a data transfer and the SSIS package didn't know what to do," I suppose.
Has anyone ever experienced or heard of this error? And either way, I'm looking for suggestions on how to resolve such an error if it occurs again in the future. (The problem with the SSIS package neither completing successfully nor failing altogether is that the Job did not generate the job failure email alert, and we waited until Monday morning to find out manually. Needless to say, the managers are not happy.)
It appears I have a couple of options:
- Find out how long the SSIS package normally takes to execute successfully, then set the DB2OLEDB connection manager's "Connect Timeout" property to some value just over that amount so that the connection itself will timeout, causing an SSIS package failure;
- Create a separate SSIS package that uses sp_help_jobactivity to check and see if that DB2-accessing package is running and if so how long it's been running. If it's been longer than expected, execute sp_stop_job;
Important to note that we didn't receive an error. Fact is, we have no idea what was going on with the DB2 source table when this, er, "non-error" took place.
Any advice would be appreciated, whether it be "how to handle in the future" or "here is what likely happened."
Thanks,
Eric