SSIS scheduled package works one day, fails another. Nothing changed.

  • I have 3 scheduled packages which are identical except for the connection manager names, as they connect to different databases. I have created dtsx configuration files for these packages which again are identical except for the connection manager name used, and the connection string details (initial catalog). They all use the same user id and password to connect to the databases (one is iSeries (AS/400) for data input, one is SQL Server for data output). Two of the jobs work fine (they connect to the same iSeries test database but different SQL test databases). The 3rd job sometimes works, sometimes fails. It connects to production databases on both ends. The error generated is

    Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. End Error Error: 2008-01-25 05:45:04.86 Code: 0xC020801C Source: Copy AS400 Account Balances to Tempest USEBALP [1] Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "NWIPDTA" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. End Error Error: 2008-01-25 05:45:04.86 Code: 0xC0047017

    All jobs run as SQL Agent Service Account, so they have the same credentials.

    I have checked the iSeries logs and nothing else is running that could lock out the connection attempt. But it does show a connection being serviced from the SQL Server.

    Any ideas why it works one day and fails another?

    I can log into SSMS as the SQL Agent Service Account, and run the job from the SQL Server Agent jobs list, and it works fine from there.


    Ken

  • Did you setup your package to log all errors, warning, etc. If so is there anything in there that would lead you in the right direction?

    If that's not a consideration, then run a profiler trace and pull a bunch of perfmon counters and do whatever capturing you can do on the other end while the job runs. It shouldn't take you but a couple days for it to fail again. Also, can your network guys monitor the network while this is going on? It could be dropping connection now and then and killing your package.

    Let me know if none of that fixes it.

    Watch my free SQL Server Tutorials at:
    http://MidnightDBA.com
    Blog Author of:
    DBA Rant – http://www.MidnightDBA.com/DBARant

    Minion Maintenance is FREE:

  • Also, do you have delay validation turned on?

    If you search yahoo on your error you'll find plenty of discussions on it.

    Maybe you'll find the answer there too.

    Watch my free SQL Server Tutorials at:
    http://MidnightDBA.com
    Blog Author of:
    DBA Rant – http://www.MidnightDBA.com/DBARant

    Minion Maintenance is FREE:

  • I've changed the package to log errors, so I'll see where that leads. I don't know about delay validation. I'll check into it. Thanks.


    Ken

  • I changed the package to DelayValidation and the job now works OK (last 3 days). This doesn't make any sense to me, since the package was failing at the 4th step (when it needs the connection to the iSeries). Without DelayValidation, the job obviously succeeded at the initial validation before starting the package execution.

    Just for "fun", I made a copy of the problematic package (without DelayValidation, and just changed the target of the data transfer step to a new table (same format as the production table), and scheduled a job to run this package every 1/2 hour. This job has been running fine every 1/2 hour for the last 4 days. Could it be that the original package is somehow corrupted so that it sometimes works and sometimes fails?:unsure:


    Ken

  • I suppose anything's possible, but I doubt it. Try changing the DB back to the original on your copied package to find out for sure. If it works, then y, something was wrong with the original package.

    Watch my free SQL Server Tutorials at:
    http://MidnightDBA.com
    Blog Author of:
    DBA Rant – http://www.MidnightDBA.com/DBARant

    Minion Maintenance is FREE:

  • I've been banging my head against the wall for 1.5 day. I read this posting and tried the delayvalidation to true and it fixed my issue. Weird. Thanks!

  • Long time reader... first time poster.

    I was receiving this error from an SSIS Package after a data source server was upgraded to SQL 2005.

    SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.

    An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Communication link failure".

    An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Named Pipes Provider: The specified network name is no longer available.

    ".

    I seem to have resolved it by forcing the package to use TCP/IP instead of Named Pipes.

    On the first attempt I used the SQL Server configuration manager to create the alias. The package still used Named Pipes. My new Management Studio connections began using TCP/IP.

    On the second attempt I used the cliconfg utility (start -> run -> cliconfg) and created the alias. (note : the alias created in SQL Config manager did not appear here). Within a few moments I could see the switch from the named pipes network library to the TCP/IP network library when querying the master..sysprocesses table for the SPID in question.

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply