Package upgraded from ssis2005 to ssis2008r2 not executing from sql agent job - sql-server

I upgraded a set of ssis packages from 2005 to 2008r2. the corresponding database has ben upgraded from sql2005 to sql2014. The packages run fine from BIDS. But when i execute them from new sql server agent job ( i have checked the use-32 bit runtime check box)., the package fails with error message as
Executed as user: ADMIN\SvcSQL13DVMDDEW03. Microsoft (R) SQL Server Execute Package Utility Version 10.50.6000.34 for 32-bit Copyright (C) Microsoft Corporation 2010. All rights reserved. Started: 11:57:06 Error: 2017-07-27 11:57:08.96 Code: 0xC0209302 Source: CBSBankRec50244961Transform Connection manager "TempRBGLINT" Description: SSIS Error Code DTS_E_OLEDB_NOPROVIDER_ERROR. The requested OLE DB provider SQLNCLI10.1 is not registered. Error code: 0x00000000. An OLE DB record is available. Source: "Microsoft OLE DB Service Components" Hresult: 0x80040154 Description: "Class not registered". End Error Error: 2017-07-27 11:57:08.97 Code: 0x00000008 Source: Check Database Connection Description: The script returned a failure result. End Error Error: 2017-07-27 11:57:24.55 Code: 0xC0202009 Source: CBSBankRec50244961Transform Connection manager "RBGLINT" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Login timeout expired". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Named Pipes Provider: Could not open a connection to SQL Server [2]. ". End Error Error: 2017-07-27 11:57:24.57 Code: 0xC00291EC Source: Log Package 'Started' Execute SQL Task Description: Failed to acquire connection "RBGLINT". Connection may not be configured correctly or you may not have the right permissions on this connection. End Error Error: 2017-07-27 11:57:40.21 Code: 0xC0202009 Source: CBSBankRec50244961Transform Connection manager "RBGLINT" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Login timeout expired". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Named Pipes Provider: Could not open a connection to SQL Server [2]. ". End Error Error: 2017-07-27 11:57:40.22 Code: 0xC00291EC Source: Log Package 'Failure' Execute SQL Task Description: Failed to acquire connection "RBGLINT". 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: 11:57:06 Finished: 11:57:40 Elapsed: 34.102 seconds. The package execution failed. The step failed.
The provider used in the config files for the packages is SQLNCLI10.1 . in the ssis package there is a ole db connection manager - RBGLINT. Just for information - this was automatically upgraded from sql native client \oledb provider to sql native client \ ole db provider 10.0. in the connection manager. I do not see this causing the issue. But just for information.
Any inputs?

From the error message you provided the main error is:
The requested OLE DB provider SQLNCLI10.1 is not registered
From the link below you there is 2 methods for solving this issue:
The requested OLE DB provider SQLNCLI10.1 is not registered
you need to do is to open the connection manager/connection string and edit it to use Native Client 11.0 which is what comes as default with SSIS 2014
Another alternative is to install the Native Client 10.0 from SSIS 2008 installable:
https://blogs.iis.net/rickbarber/installing-sql-server-native-client-10-0
http://www.keepitsimpleandfast.com/2013/04/the-sqlncli10-provider-is-not.html

Related

Sql jobs failed randomly to acquire connection after the activation of the Always ON feature

Since we activated the Always On mode on our server, we have some issues regarding our SQL jobs (running SSIS package) which failed randomly with this message :
Failed to acquire connection "DB". Connection may not be configured correctly or you may not have the right permissions on this connection.
More details :
This issue did not happen before the activation of the Always On
The connection is defined in an OLEDB component
We have another environment/server with this kind of architecture and there is no issue with it
Trace of the listener :
Message Executed as user: NT Service\SQLSERVERAGENT. Microsoft (R) SQL Server Execute Package Utility Version 15.0.2000.5 for 64-bit Copyright (C) 2019 Microsoft. All rights reserved.
Started: 2:18:01 PM Error: 2022-02-15 14:18:30.07
Code: 0xC0202009
Source: TestImport Connection manager "DB_PRIMARY"
Description: SSIS Error Code DTS_E_OLEDBERROR.
An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0"
Hresult: 0x80004005 Description: "Login timeout expired".
An OLE DB record is available.
Source: "Microsoft SQL Server Native Client 11.0"
Hresult: 0x80004005
Description: "A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.".
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "Named Pipes Provider: Could not open a connection to SQL Server [53]. ".
End Error Error: 2022-02-15 14:18:30.94 Code: 0xC00291EC
Source: Execute SQL Task Link coupons movement to collection Execute SQL Task D escription: Failed to acquire connection "DB_PRIMARY". 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: 2:18:01 PM Finished: 2:18:30 PM Elapsed: 29.984 seconds. The package execution failed. The step failed.
When enabling AlwaysOn, there is only one active database ("master") and synchronous or asynchornous copies that are call replicas ("slave") that you can't access to.
The SQL Agent operates on local database, that can be in the active or slave mode. When active, your job will operate. When slave your job will fail.
So is is necessary to ask is the database is active prior to all execution of SQL server Agent job.
I wrote some UDF to test if the database is reachable or not that you can have at :
SQL agent and AlwaysOn replicas (HADR – Availability Groups), is my database active?
And also to reproduce the SQL Server jobs on all replicas... !

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

I am running some scheduled jobs in SQL server and they were running fine until yesterday and gave me the error as given below.
Message
Executed as user: GONDWANA\svc_kib_sql01. Microsoft (R) SQL Server
Execute Package Utility Version 10.50.1600.1 for 32-bit Copyright
(C) Microsoft Corporation 2010. All rights reserved. Started:
3:55:44 PM Error: 2019-12-24 15:56:00.43 Code: 0xC0202009
Source: ProdBlockImportOP_CSV Connection manager "DataShed_Database"
Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has
occurred. Error code: 0x80004005. An OLE DB record is available.
Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005
Description: "Login timeout expired". An OLE DB record is available.
Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005
Description: "A network-related or instance-specific error has
occurred while establishing a connection to SQL Server. Server is not
found or not accessible. Check if instance name is correct and if SQL
Server is configured to allow remote connections. For more information
see SQL Server Books Online.". An OLE DB record is available.
Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005
Description: "Named Pipes Provider: Could not open a connection to SQL
Server [53]. ". End Error Error: 2019-12-24 15:56:00.43 Code:
0xC00291EC Source: Create Temp Import Table
(tblProdBlockImport_OP) Execute SQL Task Description: Failed to
acquire connection "DataShed_Database". 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: 3:55:44 PM Finished: 3:56:00 PM
Elapsed: 17.125 seconds. The package execution failed. The step
failed.
Could you please help me how to fix it?

SSIS Connection Manager - Azure SQL Database intermittent failure

We have an SSIS job that connects to a hosted SQL Database in Azure.
Occasionally we get error messages when the connection manager is unable to acquire a connection.
Example error messages:
SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "AzureCloud" 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
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Login timeout expired". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 Description: "Named Pipes Provider: Could not open a connection to SQL Server [53]. ". End Error Error: 2017-04-28 01:03:48.00 Code: 0xC020801C Source: Copy to stage Lookup [580] Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Cloud" 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: 2017-04-28 01:03:48.83 Code: 0xC0047017 Source: Copy to stage SSIS.Pipeline Description: component "Lookup" (580) failed validation and returned error code 0xC020801C. End Error Error: 2017-04-28 01:03:49.65 Code: 0xC004700C Source: Copy to stage SSIS.Pipeline Description: One or more component failed validation. End Error Error: 2017-04-28 01:03:50.50 Code: 0xC0024107 Source: Copy to stage Description: There were errors during task validation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 1:00:12 AM Finished: 1:03:50 AM Elapsed: 218.339 seconds. The package execution failed. The step failed.,00:03:38,0,0,,,,0
Is there an Azure SQL Connection Manager that can use connection resiliency to retry acquiring a connection in the event that a network event (e.g. increased latency on the public internet) occurs?
Thanks!
There is no specified azure sql connector with more resiliency against transient errors. You need to implement this by yourself.
If you are using ssis packages in connection with sql server agent jobs, then you should consider using the retry feature of the agent's job steps.
if you are otherwise starting your packages from custom code, then utilize a retry library. For e.g. in c# there is a package called Polly, that handles retry policies very well.

TCP Provider: The semaphore timeout period has expired in SSIS

Sometimes during loading data in SSIS from SQL Server to SQL Server 2016 (using Data Flow) I get following errors:
SE [[209]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error
has occurred. Error code: 0x80004005. An OLE DB record is available.
Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005
Description: "Communication link failure". An OLE DB record is
available. Source: "Microsoft SQL Server Native Client 11.0"
Hresult: 0x80004005 Description: "TCP Provider: The semaphore timeout
period has expired. ".
[SSIS.Pipeline] Error: SE failed the pre-execute phase and returned
error code 0xC0202009.
I cannot find any pattern when I get this. Anyone had the same problem and solved it?
I had this elusive problem before and searched for it, the only notion on MSDN forum and SO question "how to resolve DTS_E_OLEDBERROR. in ssis". In a nutshell - issue is related to high load of SQL server or its runtime environment. In my case, error disappeared after adding more RAM to SQL server and configuring TCP window = 32767; however, I am not convinced it was the cure.

Sql Server Agent Job Fails

I job that executes the package located on server. The package has logging set up. When I disable that logging it executes fine as expected but when I run that with logging it throws an error.
Information:
Job and Package is located on same server.
User have permission to execute the job.
Logging connections are coming from the different server.
Error:
Executed as user: VHRDEVLHQ3379\SYSTEM. ....50.2500.0 for 64-bit
Copyright (C) Microsoft Corporation 2010.
All rights reserved.
Started: 5:10:13 PM
Error: 2013-11-25 17:10:14.61
Code: 0xC0202009
Source: Package Connection manager "HRPConfig"
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 'USER'.".
End Error
Error: 2013-11-25 17:10:14.69
Code: 0xC0202009
Source: Package Connection manager "Logging"
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 'USER'.".
End Error
Error: 2013-11-25 17:10:14.69
Code: 0xC020801C
Source: Package Log provider "SSIS log provider for SQL Server"
Description: SSIS
Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.
The AcquireConnection method call to the connection manager "Logging" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. COM error object information is available.
Source: "Package" error code: 0xC0202009
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 'USER'.". ".
End Error
Error: 2013-11-25 17:10:14.71
Code: 0xC0202009
Source: Package Connection manager "HRPConfig"
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 'USER'.".
End Error
Error: 2013-11-25 17:10:14.79
Code: 0xC0202009
Source: Package Connection manager "Logging"
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 'USER'.".
End Error
Error: 2013-11-25 17:10:14.79
Code: 0xC020801C
Source: Package Log provider "SSIS log provider for SQL Server"
Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Logging" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. COM error object information is available. Source: "Package" error code: 0xC0202009 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 'USER'.". ".
End Error
Error: 2013-11-25 17:10:18.21
Code: 0xC0202009
Source: Package Connection manager "Logging"
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 'USER'.".
End Error
Error: 2013-11-25 17:10:18.27
Code: 0xC0202009
Source: Package Connection manager "Logging"
Description: SSIS Error Code DTS_E_OLED... The package execution fa... The step failed.
Does your SQL Server Agent Account executing the job have write permissions to the logging tables? That sounds like the issue.

Resources