SSIS package execution failed inside SQL Agent - sql

I have created one SSIS package which is I have imported into Integration services MSDB
which is executed correctly from Integration services MSDB
But when I tried to create a JOB in SQL Server Agent and try to execute
that job it is giving me following error
I'm unable to get it what is wrong from following error
please help me.
(I have tried by adding config file and deleting config file when I add packge in SQL Server Agent)
Message
Executed as user: cam\Package.Runner. Microsoft (R) SQL Server Execute Package Utility Version 10.0.4000.0 for 64-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 5:05:01 AM Error: 2013-07-02 05:05:01.85
Code: 0xC0016016 Source: Description: Failed to decrypt protected XML node "DTS:Property" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available. End Error Error: 2013-07-02 05:05:01.85
Code: 0xC0016016 Source: Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available. End Error
Error: 2013-07-02 05:05:02.02
Code: 0xC0202009 Source: BloombergFTP Connection manager "WOPR\Fireball_PROD.sa" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E4D. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E4D Description: "Login failed for user 'package.runner'.". End Error Error: 2013-07-02 05:05:02.02 Code: 0xC00291EC Source: Execute SQL Task Goodhart Execute SQL Task Description: Failed to acquire connection "WOPR\Fireball_PROD.sa". Connection may not be configured correctly or you may not have the right permissions on this connection. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 5:05:01 AM Finished: 5:05:02 AM Elapsed: 0.266 seconds. The package execution failed. The step failed.

Ensure that credential used by "WOPR\Fireball_PROD.sa" BloombergFTP Connection manager is valid before trying the following.
Either
Change the SSIS Package ProtectionLevel property to
EncryptSensitiveWithPassword and Set the Packagepassword if you want
to encrpt the package.Specify this Password at command line in
SQLSERVER Agent Job SSIS configuration.
Change the SSIS Package ProtectionLevel property to DontSaveSensitive if you dont want to encrpt the package.Specify the credential in the SQLSERVER Agent Job SSIS configuration itself.

I ran into a similar problem. My SSIS package was running within SQL Data Tools without errors, but failed within SQL Server Agent, using a admin proxy. Looking into the logs of the job, the error message was something like "Failed to decrypt protected XML node "DTS:Property""
One of the many possible reasons (next to the one given by S.M.) for such an error is that the proxy doesn't have access to tables/databases you're referring to, while you yourself do have access to these tables.
In my case: I was writing stuff to a personal database which couldn't be accessed by the credentials underlying the proxy. Hence, when running the SSIS package within SQL Data Tools, I could access the tables, but when running the job within SQL Server Man. Studio, I couldn't. I changed the destination database of my package and the job could be runned.
This might be helpful for more people running into similar problems.

Related

Job fails when loading data from server1 to server 2 inside SQL Server agent

I have created a ssis package to load data from server 1 table1 to server 2 table2. This package is running fine inside the business intelligence studio. But the issue is , when I schedule this package in SQL server agent as a job, the package execution is failing.
The error I am getting is
SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E4D. Description: "Login failed for user 'Domain\Server1$' .
Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.
The AcquireConnection method call to the connection manager "Server2.Database2" failed with error code 0xC0202009.
Please help me to fix the issue. I am using SQL Server 2014
Thank you very much for your time and help!
This is a security / permissions issue. Update the SQL Server Agent job to use an account which has sufficient permissions to complete all of the actions inside the SSIS package.
Explanation
The package completes succesfully when executed from Business Intelligence Studio, because that execution is running under you credentials. It is running as you. When you run the package from SQL Service Agent job, it is NOT using your credentials. Instead it is using account 'Domain\Server1$' and that account does NOT have sufficient rights against Server2.Database2 to complete all of the package actions.
To solve this, you could update the security on Server2.Database2 and allow 'Domain\Server1$' to perform the same actions as you, but that is unadvised. Instead, best practice here is to establish an SSIS proxy account. Here is a good article discussing how to go about that. After you have established this proxy account, grant the new proxy account sufficient permissions to complete the actions inside of your SSIS package and your error message will go away. Hope this helps!

ssis error when click on mapping

Using SQL Server 2005
Trying to copy a .CSV file to database with
Error at UploadCSV [Connection manager "SERVER.DATABASE.USER_ID"]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E4D.
An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80040E4D Description: "Login failed for user 'USER_ID'.".
Error at Data Flow Task [OLE DB Destination [594]]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "SERVER.DATABASE.USER_ID" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed.
(Microsoft Visual Studio)
Exception from HRESULT: 0xC020801C (Microsoft.SqlServer.DTSPipelineWrap)
Program Location:
at Microsoft.SqlServer.Dts.Pipeline.Wrapper.CManagedComponentWrapperClass.AcquireConnections(Object pTransaction)
at Microsoft.DataTransformationServices.Design.PipelineUtils.AcquireConnections(IDTSComponentMetaData90 componentMetadata, Connections connections, IServiceProvider serviceProvider)
at Microsoft.DataTransformationServices.DataFlowUI.DataFlowComponentUI.AcquireConnections()
at Microsoft.DataTransformationServices.DataFlowUI.DataFlowComponentUI.ReinitializeMetadata()
at Microsoft.DataTransformationServices.DataFlowUI.DataFlowAdapterUI.connectionPage_SaveConnectionAttributes(Object sender, ConnectionAttributesEventArgs args)
Please check the connection manager "Server.database.user_id" and click on test connection. You may need to enter password again depending upon security setting of the package.
Once the test connection is successful, you should not see this error while mapping columns in your destination.
Generally this issue occurred when we are using a VPN Server (SQL Server) in our SSIS Package as a connection manager.
So first of all try to login SQL Server with the same user at where you created your package (Local or on your machine).

SSIS issue Failed to decrypt protected XML node

I created an SSIS package which is having ftp pull files from ftp server and save to my local drive but I'm getting this issue.
With same error message I was getting only warning but today the job fails.
Message:
Executed as user: cam\Package.Runner. Microsoft (R) SQL Server Execute Package Utility Version 10.0.4000.0 for 64-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 10:00:00 AM Error: 2012-02-15 10:00:00.61 Code: 0xC0016016 Source: Description: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available. End Error Error: 2012-02-15 10:00:00.62 Code: 0xC0016016 Source: Description: Failed to decrypt protected XML node "DTS:Property" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available. End Error Error: 2012-02-15 10:00:33.53 Code: 0xC0029183 Source: Principal Balance File FTP Get FTP Task Description: File represented by "/Concerto/Virtus_Reports/Concerto Principal Balance Report*.pdf" does not exist. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 10:00:00 AM Finished: 10:00:33 AM Elapsed: 33.088 seconds. The package execution failed. The step failed.
You can fix this issue by setting the Protection Level property
Protection Level : DontSaveSensitive
With this property, the package will not be password protected, and another server can access and execute any job with other credentials.
While importing the package to SQL Server choose Protection Level:
Either
1- Don't save sensitive data.
Or
2- Rely on Server Storage and roles for access control.
Screenshot from SSIS Project Package Properties:
Please try save your package with the option "EncryptSensitiveWithPassword".
Step-1: Right click on your FTP connection manager, go to its Properties (the very bottom, not the Edit button),
and type in the password.
Step-2: Save your package with EncryptSensitiveWithPassword.
Step-3: Now edit the command ling in SQL job agent as below
/FILE "C:\Fullpath of SSIS pkg.dtsx" /DECRYPT password
Before Building and deploying the package, please be sure you've changed the property of the solution like this :
Run64BitRuntime = False
I got the same error message for FTP Connections. I think it was caused by me opening the Package while running BIDS under different credentials to those I created it with.
As a clunky workaround I deleted and re-created the FTP Connection. It worked fine afterwards.
Main part of your SSIS job error is
" 0xC0029183 Source: Principal Balance File FTP Get FTP Task Description: File represented by "/Concerto/Virtus_Reports/Concerto Principal Balance Report*.pdf" does not exist. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 10:00:00 AM Finished: 10:00:33 AM Elapsed: 33.088 seconds. The package execution failed. "
It seems that you don't have pdf file on path you have configured in your SSIS package.
Please,check up path and pdf files for import.
Best regards,
Branislav
In case of FTP Connection, you can just create one Script Task before FTP task and set a password for that for example
ConnectionManager FTPConn;
FTPConn = Dts.Connections["FTP Connection Manager"];
FTPConn.Properties["ServerPassword"].SetValue(FTPConn,Dts.Variables["FtpPwd"].value);
and in case of OLE DB you can just add password in the connection string of OLEDB Connection.
This are the steps that worked for me.
copied the package to another folder (just to be safe)
Set the Protection Level to EncryptAllWithPassword and gave it a Password like 'Test'
changed the creator Name to another User that I created
Recreated the job
created a Proxy to run the job
Worked!!

Problem running SSIS package: "Data source name not found and no default driver specified"

I've developed a SSIS package that takes some data as an XML file, processes it and inserts it into our DB. When the package is being debugged (i.e. running in BIDS), it works fine from my local machine. I can also compile the package to a .dtsx file and run it via command line by executing DTExec.exe. I am running SQL Server 2005. When I move it to a test server, also running SQL Server 2005, and Integration services, I cannot execute the package via command line. I keep receiving this error
Error: 2011-08-16 17:50:39.11
Code: 0xC0202009
Source: ProcessSubmissionData Connection manager "Master"
Description: An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft OLE DB Provider for ODBC Drivers" Hresult: 0x80004005 Description: "[Microsoft][ODBC Driver Manager]
Data source name not found and no default driver specified".
End Error
I've searched the web and tried every solution I can find, to no avail. Is there anyone who can help with this? If it helps, this is the connection string that the connection manager is using
Data Source=xxxx;User ID=xxxx;Password=xxxx;Initial Catalog=database;Provider=SQLOLEDB;
The error is telling you that the Data Source Name (DSN) does not exist rather than the ODBC Driver.
So, if you machine is 32bit then it seems you have simply not created an ODBC Data Source (DSN) via the ODBC Administrator.
(The parameters within the DSN itself determine which ODBC Driver is used...)
Also - this needs to be a "System" DSN (Not a User DSN) since applications running as a system service will not have access to User DSNs. User DSNs are only available on a per user basis when that user is logged in!!!

SSIS Import excel sheet error

Hi I am tring to import data from excel to sql 2005 .working fine in VS2005,but not working while running from cmd using dtexec.
error description as follows
"Microsoft JET Database Engine" Hresult
: 0x80004005 Description: "The Microsoft Jet database engine could not find the
object .
Can anyone help how to resolve this issue
This could possibly be a permissions error. If the account that is running the package doesn't have sufficient rights on the target folder or object, then this kind of error could be raised by SSIS. You wouldn't see this error in BIDS if your personal account has sufficient rights to access the file location.
Do you receive this error when the package is executed via a SQL Server Agent job? Do you receive this error when logged into the server that runs the code using the credentials of the SQL Server Agent?
Try to see you you have the property 'Set DelayValidation' = false
(Microsoft Reference)
If it still does not work, check to see if you have the package sensible information, encrypted to the user package creator (package properties), this inhibits another user to run the package (safety issues).
Hope it helps,
Bruno