SQL Server Job Agent fails SSIS package with error: Option “/CALLERINFO” is not valid
I was editing some pre-existing SQL Server Agent jobs the other day, adding some interconnectivity and changing steps around as I’ve done hundreds of times before. These job steps are used to execute SSIS packages (SQL Server Integration Services) on the server and have been running for months (years?) without fail. However, after I made my changes they started failing on the steps I had edited, throwing the bizarre error:
After some frantic Googling and some initial confusion, I twigged on the fact that all changes I’d made had been done, crucially, from my desktop, which is currently running the new 2012 (“Denali”) version of SSMS (SQL Server Management Studio). As it turns out, there’s a bug in the RC0 release of SQL Server 2012 that adds the CALLERINFO command line parameter (which doesn’t seem to be documented on MSDN) to any SQL Server Job Agent steps that execute SSIS packages, even if the target instance of SQL Server is a previous version. “What’s the issue there?”, I hear you cry. Well, the CALLERINFO parameter is a new addition to SQL Server 2012 and is not known by older versions (we’re running SQL Server 2008 R2 on the target machine). The good news is, that Microsoft are aware of the issue and have fixed it for the RTM version.
Until then though, there is a workaround. Edit your SQL Agent job step, choose the “Command line” tab and click “Edit the command line manually”. Then just remove the “/CALLERINFO SQLAGENT” parameter from the command line arguments.