Error while executing SSIS package from JOB - ssis

Message
Executed as user: UKDBT91DB05V\SYSTEM. Microsoft (R) SQL Server
Execute Package Utility Version 10.50.2500.0 for 64-bit Copyright
(C) Microsoft Corporation 2010. All rights reserved. Started:
14:58:34 Error: 2013-04-01 14:58:34.45 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-04-01 14:58:34.76 Code: 0xC001000E Source:
ReceiveDGDinformation Description: The connection "stock" is not
found. This error is thrown by Connections collection when the
specific connection element is not found. End Error Error:
2013-04-01 14:58:34.80 Code: 0xC0202009 Source:
ReceiveDGDinformation Connection manager "Stock" 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 'DOTCOM\UKDBT91DB05V$'.". End Error Error:
2013-04-01 14:58:34.80 Code: 0xC020801C Source: Populate
Staginng Table Populate DGD Staging table [34] Description: SSIS
Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The
AcquireConnection method call to the connection manager "Stock" 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: 2013-04-01 14:58:34.80 Code: 0xC0047017
Source: Populate Staginng Table SSIS.Pipeline Description:
component "Populate DGD Staging table" (34) failed validation and
returned error code 0xC020801C. End Error Error: 2013-04-01
14:58:34.80 Code: 0xC004700C Source: Populate Staginng Table
SSIS.Pipeline Description: One or more component failed
validation. End Error Error: 2013-04-01 14:58:34.80 Code:
0xC0024107 Source: Populate Staginng Table Description: There
were errors during task validation. End Error DTExec: The package
execution returned DTSER_FAILURE (1). Started: 14:58:34 Finished:
14:58:34 Elapsed: 0.624 seconds. The package execution failed. The
step failed.
Meaningful bits of the error message
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
Login failed for user 'DOTCOM\UKDBT91DB05V$'

This is probably a problem with your ProtectionLevel setting and how you are configuring the job.
If ProtectionLevel is at the default "EncryptSensitiveWithUserKey" setting, then the development environment is encrypting things like your connection string database password using a key that depends on the user who is doing the development. After you deploy it to the production server and schedule a SQL Server Agent job, it will most likely run under a different user account, and then it will be unable to decrypt the database password. You will get this error.
One possibility would be to make sure the development user and the job execution user are the same user account, but this is not a good idea. Usually you want your production user accounts to be separate from your development user accounts.
Instead, you should set ProtectionLevel to "DontSaveSensitive". Then the password won't get saved with the SSIS package at all. You create a configuration file for the connection string, but the password won't get saved to the configuration file either. You will have to edit the configuration file manually if you want it to include a password. But the best way to do this is to configure the password when you schedule the job that executes the SSIS package. That keeps the password in a safe place, and it isn't floating around all over the place with the SSIS package.
Some useful links here and here.
Good luck!

Related

Login failed for "user" in ssis

[Load_Row table [9928]] Error: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.
The AcquireConnection method call to the connection manager "DB_NAME" failed with error code 0xC0202009.
There may be error messages posted before this with more information on why the AcquireConnection method call failed.
[SSIS.Pipeline] Error: component "Load_Row table" (9928) failed validation and returned error code 0xC020801C.
[Connection manager "Raven_MSSQL"] Error: 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 '****'."
I am getting above error for 10-12 packages in my pre-prod environment .
But Couple of week before, It was fine and loaded the data.
I have checked the config files and could see no changes happened and everything looks same.But when I downloaded the same package from server and executed, i got the same error.After google, I changed the protection level and executed, it got succeeded.
Do I want to change the protection level and re-deploy ?
Please put your suggestion which helps me to overcome this issue.
Thanks in advance

SSIS Error Code DTS_E_OLEDBERROR: 0xC0202009

I created a new package today, it gets info passed down from a Master package that runs other packages as well. My master package pulls the connection info from a config file at runtime. Protection level = DontSaveSensitive. Using Windows Authentication. It works fine locally but when I run it from a job it gives me the error below.
Any ideas or constructive comments are welcome!
Code: 0xC0202009 Source: DFT - Insert Into StageSites Source DB TEICommon [1] Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E14. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E14 Description: "Statement(s) could not be prepared.". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E14 Description: "Invalid column name 'SuspendedDate'.". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E14 Description: "Invalid column name 'FirstShipmentDate'.". End Error Error: 2016-10-28 10:38:02.50 Code: 0xC004706B Source: DFT - Insert Into StageSites SSIS.Pipeline Description: "component "Source DB TEICommon" (1)" failed validation and returned validation status "VS_ISBROKEN". End Error Error: 2016-10-28 10:38:02.50 Code: 0xC004700C Source: DFT - Insert Into StageSites SSIS.Pipeline Description: One or more component failed validation. End Error Error: 2016-10-28 10:38:02.50 Code: 0xC0024107 Source: DFT - Insert Into StageSites Description: There were errors during task validation. End Error
Update: [Fixed]
I solved the issue by updating my schema in the database my ETL query was pulling from.
Here are your actual errors:
"Invalid column name 'SuspendedDate'.".
"Invalid column name 'FirstShipmentDate'.".
You are querying a table (in the component Insert Into StageSites) , expecting those columns to exist when they do not. Since you say it works locally but not from a job, the most likely explanation is that your DataSource is connecting to a different server when the job runs it than the one it connects to locally. Check the connection string in the .config file on the server that the job points to.

Cannot connect to password protected MS Access 2010 database from SSIS package on SQL Server

A couple of my co-workers have been having trouble connecting to password protected MS Access 2010 database from SSIS using. I decided to make an attempt at troubleshooting this.
To simplify the situation I created a new MS Access 2010 database with one table and one row with no password protection. I copied that database, updated the data in the one row so that I could differentiate the source and then applied a password. Both databases on the same network path for which I am using the full UNC path.
I created two SSIS packages, one for each database. All the packages do is read from the one table and write the data to a CSV. For my connection to the Access database I am using the Microsoft Office 12.0 Access Database Engine OLE DB Provider. For the password protected database connection I am putting the password in the Jet OLEDB:Database Password field.
When running on my machine through Visual Studio both SSIS package work as expected and write the data from the Access database table to a CSV file at the same location as the database. However, when I upload the packages and create a SQL job for each of them the one without a password works, but the one with a password does not.
Here is the error I get (with the user Xed out)...
Executed as user: XXXXXX\XXXXXXXX. Microsoft (R) SQL Server Execute Package Utility Version 10.50.4000.0 for 32-bit Copyright (C) Microsoft Corporation 2010. All rights reserved.
Started: 1:42:02 PM
Error: 2016-07-11 13:42:03.94
Code: 0xC0202009
Source: Package1 Connection manager "TestPassword"
Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred.
Error code: 0x80004005. An OLE DB record is available.
Source: "Microsoft Office Access Database Engine"
Hresult: 0x80004005
Description: "Cannot open database ''. It may not be a database that your application recognizes, or the file may be corrupt.". End Error
Error: 2016-07-11 13:42:03.94
Code: 0xC020801C
Source: Data Flow Task OLE DB Source [1]
Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "TestPassword" 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: 2016-07-11 13:42:03.95
Code: 0xC0047017
Source: Data Flow Task SSIS.Pipeline
Description: component "OLE DB Source" (1) failed validation and returned error code 0xC020801C. End Error
Error: 2016-07-11 13:42:03.95
Code: 0xC004700C
Source: Data Flow Task SSIS.Pipeline
Description: One or more component failed validation. End Error
Error: 2016-07-11 13:42:03.95
Code: 0xC0024107
Source: Data Flow Task
Description: There were errors during task validation. End Error
DTExec: The package execution returned DTSER_FAILURE (1).
Started: 1:42:02 PM Finished: 1:42:03 PM Elapsed: 1.903 seconds. The package execution failed. The step failed.
Any suggestions?
I had a very similar issue with an ADO Net connection manager trying to connect to a remote Azure DB.
You can try assigning the full connection string including the credentials to the connection manager via an expression and variable. There are more secure ways to assign this information at run time but that is a quick way to test.
One of the major reasons that this type of deployment fails is that the password is encrypted specific to your machine when you set up the connection manager. Once the package is moved the production machine it can not decrypt the password that is saved in the connection manager. Therefore the package will never have access to your protected DB.
Our issue was fixed by running this install to update the drivers.
https://www.microsoft.com/en-us/download/details.aspx?id=13255
Have your package security set to EncryptSensitiveWithPassword
When you deploy your package ensure you have re-entered the username and password (or full connection string) for your connection.

Excecuting SSIS package deployed in Integration Service Catalog

I have edited my entire question, first my question was how to execute the SSIS Package, but now I have got the solution to execute it via SQL Server Agent job but when I am trying to execute the SQL Server Agent job, I am getting error , when I viewed in history then following message is shown
Job failed. Job was evoked by the user. Last step to run was step 1.
please note the table where I am inserting the data into database via SSIS package in SQL Express, is it SQL Express creating problem.
---------Updated Error Message-------------
The following error message is seen when I expand log file of SQL Server Agent job,
Executed as user: NT Service\SQLAgent$SQL_Server_Evalu. Microsoft(R) SQL Server Execute Package utility Version 11.0.2100.60 for 64 bit copyright (C) Microsoft Corporation. All right reserved started: 16:11:39 Package Execution on IS Server failed. Execution ID:4, Execution Status:4.
Below is the screen shot how I execute the SQL Server Agent job,
------------Updated error message------------
Below is the screen shot of the error message that are given while execution of the deployed package.
Errors are as follows:
1) Data Flow Task Error: There were errors during task validation.
2) Data Flow Task Error: OLE DB Destination failed validation and return error code 0XC020801C.
3) Data Flow Task Error: One more component failed.
4) Data Flow Task Error: SSIS Error Code
DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER
The AcquireConnection method call to the connection manager "RESHMAJADHAV\SQLEXPRESS.Adventureworks2012" failed with error code 0XC0202009.
5) Package Error: SSIS Error Code DTS_E_OLEDBERROR. An OLEDB error has occured. Error Code: 0X80004005. An OLE DB record is available. source: "Microsoft SQL Server Native Client 11.0" Hresult: 0X80004005 Description:"Login failed for user 'NTSERVICE\SQLAgGENT$SQL_SERVER_EVALU'.". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0X80004005 Description:"Cannot open Database" AdventureWorks2012"
requested by login. The login failed"
Is it because of the connection string
"Data Source=RESHMAJADHAV\SQLEXPRESS;Initial Catalog=AdventureWorks2012;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;"
That I have defined in environmental variables in Integration Service Catalog I am unable to open the database..?
Any help will be greatly apprecaiated...
Data Source=RESHMAJADHAV\SQLEXPRESS;User ID=XXXXXXX;Password=XXXXXXXXX;Initial Catalog=AdventureWorks2012;Provider=SQLOLEDB;
for the destination connection. I think job is not getting the end user name and password.
It might help. I f not can you please post the exact error message. I am no able to see anything form the picture..
Thanks

how to deploy SSIS package to sql server instance

i have created one SSIS package for importing data from Excel to Sql DB.
i also deployed it on SQL SERVER Instance,but when i am runing that package throw job its gives some error.
ERROR: "Microsoft (R) SQL Server Execute Package Utility Version 10.50.2500.0 for 32-bit Copyright (C) Microsoft Corporation 2010.
All rights reserved. Started: 11:03:12 Error: 2013-03-19 11:03:12.84 Code: 0xC0202009
Source: Package2 Connection manager "Excel Connection Manager" Description: SSIS Error Code DTS_E_OLEDBERROR.
An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available.
Source: "Microsoft JET Database Engine" Hresult: 0x80004005
Description: "The Microsoft Jet database engine cannot open the file ''.
It is already opened exclusively by another user<c/> or you need permission to view its data.".
End Error Error: 2013-03-19 11:03:12.84 Code: 0xC020801C
Source: Creating Staging for Data Excel Data Source [1]
Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.
The AcquireConnection method call to the connection manager "Excel Connection Manager" 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: 2013-03-19 11:03:12.84 Code: 0xC0047017
Source: Creating Staging for Data SSIS.Pipeline
Description: component "Excel Data Source" (1) failed validation and returned error code 0xC020801C.
End Error Error: 2013-03-19 11:03:12.84 Code: 0xC004700C
Source: Creating Staging for Data SSIS.Pipeline Description: One or more component failed validation.
End Error Error: 2013-03-19 11:03:12.84 Code: 0xC0024107
Source: Creating Staging for Data Description: There were errors during task validation.
End Error DTExec: The package execution returned DTSER_FAILURE (1).
Started: 11:03:12 Finished: 11:03:12 Elapsed: 0.219 seconds.
The package execution failed. The step failed.,00:00:00,0,0,,,,0
I am using 32 bit OS,.XLS Excel file for import,which is MS EXCEL 2003.
I need solution cananybody help me....???
The reason your package is failing is because you have the excel file open. Close the file and try running the package again.
Error Message: "The Microsoft Jet database engine cannot open the file ''.
It is already opened exclusively by another user or you need permission to view its data.".