Communication Link Failure Error When Running A Distributed Query
Apr 12, 2007
Hello
TestMachine1 runs SQL2005 SP2 and has as linked server myRemoteServer (SQL2000) server. I run an stored procedure in TestMachine1 which inserts about 20,000 rows to a table in myRemoteServer and brings back a similar quantity of rows. This stored procedures take about 1.5min to complete, but no error appears.
When running the same stored procedure in TestMachine2 (also SQL2005SP2), the following error appears after about 1 minute of execution (not the exact text):
SQLNCli. TCP Provider: network name is no longer available - communication link failure.
Please note that this stored procedure worked before on TestMachine2 (but with less than 10,000 rows) and that connectivity is proven among TestMachine1 and myRemoteServer, since I can execute "select * from synonym_MyRemoteTable" with no problems at all in the TestMachine2's Management Studio.
TestMachine1 and TestMachine2 have Windows XP Professional SP2; myRemoteServer has Windows 2003 and SQL Server 2000 SP4.
Below the Error Log Reported in SQL Agent (64 bit SQLServer 2008R2 Enterprise Edition Service pack 2 ,32Core CPU Numa Node and 64GB Ram  [298] SQLServer Error: 10054, TCP Provider: An existing connection was forcibly closed by the remote host. [SQLSTATE 08S01] [298] SQLServer Error: 10054, Communication link failure [SQLSTATE 08S01] [165] ODBC Error: 0, 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. [SQLSTATE 08001] [382] Logon to server '(local)' failed (ConnUpdateStartExecutionDate)
I am looking for solution for "Communication link failure" Â since many months in google but no luck, am running an SSIS package to load data. job failing many times with error 'Communication link failure', searched every where but found nothing.
Below is the complete error description when job failed.
OS - Windows server 2008 R2 Enterprise Edition RAM - 198GB Â SQL server 2008 R2 Enterprise Edition and error description is below,
Started:  6:22:40 AM  Error: 2015-08-19 18:50:32.70   Code: 0xC0202009    Source: Data Flow Task Lookup [193]    Description: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.  An OLE DB record is available. Â
Hi Y'all, When i alter 1 single value in my sql server 2000 sometimes i get following error: 1) [MICROSOFT][ODBC SQL SERVER DRIVER] Communication link failure After clicking away: 2)CANNOT START MORE TRANSACTION ON THIS SESSION Maybe someone can help me out on this? Thanks!
I am using ADO in my application to connect and retrieve data from Microsoft SQL Server 2000 SP4. When I start my application, it establishes connection to the server successfully and I am able to retrieve data from the server. here is my test scenario:
1. unplug the network cable from the client machine and put the cable back in after some time. I disconnect from the database in my code when the client machine disconnects from the network
2. Once the client machine comes back on the network, I try to reconnect and retrieve data from the sql server but I get the following error message when I try to execute a sql command:
[Microsoft][ODBC SQL Server Driver]Communication Link failure
This problem occurs only with Window XP SP2. With XP SP1 it works fine. It seems to be problem on the client side as with Windows XP SP1 I do not get this error message at all.
This is regarding the intermittent failure of communication between the application server and database server in one of our customer environment. Application error as well as SQL error log shows "General Network Error","Communication Link Failure". Please find below the server configuration
Application Server OS: Win 2003 server + Service Pack1, Standard Edition Database Server OS: Win 2003 server + Service Pack1, MS SQL Server 2000 + SP4
We have checked the Client/Server Network utility associated with SQL Server and found TCP/IP protocol is used in communication neither than Named Pipes. DSN is used. We have also followed and implemented as per one KB article which mentioned Win 2003 server's feature of preventing Denial of Service attacks (Chance may be there to prevent the valid login packets).We made the registry changes and disabled this feature. A scheduled job which updates the database happens every morning. Also backup was done using a backup utility which needs the exclusive access to DB. So we have asked the customer to use enterprise manager for back up the DB instead of using the other utility to backup. If any one have experienced the same issue, please let me know.
I am wondering if you guys have any experience with failing Stored Procedures running inside a SSIS package with the following error:
===================================================== Message Executed as user: GAALPSVR034FSYSTEM. Microsoft (R) SQL Server Execute Package Utility Version 9.00.3042.00 for 64-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 8:51:22 AM Error: 2008-05-19 09:06:55.15 Code: 0x00000000 Source: usp_SLIM_Site_PreProcess Description: TCP Provider: The specified network name is no longer available. End Error Error: 2008-05-19 09:06:55.18 Code: 0xC002F210 Source: usp_SLIM_Site_PreProcess Execute SQL Task Description: Executing the query "Exec usp_SLIM_Site_PreProcess" failed with the following error: "Communication link failure". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 8:51:22 AM Finished: 9:06:55 AM Elapsed: 932.203 seconds. The package execution failed. The step failed. ======================================================
Sometime it fails when gets called through a job and sometimes even when a package is open in a design mode. The actual Stored Procedure NEVER fails if called in SQL Server Management Studio.
Any ideas or suggestions will be very helpful and appreciated Thanks for your help!
When running the etl I'm getting the error: <SSIS Task>: Shared Memory Provider: Timeout error [258] ; followed by the message "Communication link failure".
What is special about this message that it happens on a SQL Execute task (random task) and the Timeout is after 2 minutes.
When executing the packages separatly it is working fine. The SQL Tasks that are failing are also quit heavy, but reasonable and takes between >2min and 10 - 15 min. Statements are stored procedures that puts an index on 3 mil. records or update statements,...
I had a look to all my (SSIS-etl)Â timeouts and they have the default value 0, the "remote query timeout" of the server is set to 10 minutes. According to me, these are the only one that exists?
There are 2instances on the server each instance has 24GB allocated, the server has 64 in total. Also when the etl runs (that results in an error) no other etl is running on the 2 instances. I'm working with the oledb sql server native client11.0 provider : SQLNCLI11.1.
we have our cubes in Server A and SQL DB resides on Server B (we are on SQL 2014), from last couple of days are cube started failing due to below error:
OLE DB or ODBC error: Protocol error in TDS stream; HY000; Protocol error in TDS stream; HY000; Protocol error in TDS stream; HY000; Communication link failure; 08S01; TCP Provider: An existing connection was forcibly closed by the remote host. ; 08S01
I have been going through some blogs to understand the error but don't find any specific yet.
We are developing an ASP ad component for our web site. For the past one week we are testing the component in real environment. All of a sudden we are getting the following error message.
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC SQL Server Driver]Communication link failure
We are using SQL Server 7.0 with Windows NT4 SP4, IIS and ASP
We are not using any complex joins or view updation. We are using ADODB connection variable with an application scope to establish the connection. When we try to use the connection object to open a Recordset, this error occured. We colsed the connection and destroyed the ApplicationScope Connection object and re-created the object with out any success.
I get ODBC Error 823 when I try to access data from Crystal reports and I/O error, communication link failure...from query analyzer. But the weird thing is it is on and off. If I keep keep clicking 4 times in a row it happens 5 time or 7th time. It is alo only on one of the big tables. They are all stored on same primary filegroup?
Any ideas on what this might be? When I checked BOL it said disk error. The network team doesn't seem to agree. How can I make sure it is hardware or software problem?
Hello,We are the authors of an application written in PowerBuilder (typeClient-Server, database MSSQLServer2000).After some time (1 hour) of client inactivity happens disconnect from serverand aplication reports error 'Communication link failure ...'Please, would you help me, if exists some way how to set up an interval ofthe connectivity between Client and Server. I wasn´t able to find it out inany help or manual.Thank you very much in advance!Pavel
I am running an SSIS packsge across 2 servers. There at 33 Mil rows being copied over. At 5.6 mil rows I get this
[OLE DB Source [1]] Error: An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Protocol error in TDS stream". 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: "TCP Provider: An existing connection was forcibly closed by the remote host. ". 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: "TCP Provider: An existing connection was forcibly closed by the remote host. ". 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: "TCP Provider: The specified network name is no longer available. ".
[DTS.Pipeline] Error: The PrimeOutput method on component "OLE DB Source" (1) returned error code 0xC0202009. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing.
Iam using VC++ application to connect remote database(MSSQL) through network.
Everything works fine, if the network connection is active. If the network breaks and resumes, the application throws "Communication Link Failure" and do not get connected even after the network is resumed.
Client :
* Windows 2000 Professional
* MDAC 2.5
* VC++, using framework- CRecordset to access database
We replicate from London to New York and Hong Kong. The New York replication is working fine but everytime we try the Hong Kong replication it starts doing it but when it gets to the bulk copying stage it'll still keep going but on a random table will suddenly fail with a communication link failure message ?? It used to do this and because it keeps trying it used to eventually succeed but recently it never succeeds ?? It keeps trying but we end up having to stop it as it just doesn't succeed anymore ?? Our link to Hong Kong appears fine, we can ping and PC Duo into their servers.
Any ideas would be greatly appreciated as we can't think what it may be ??
I am using C++ (Ver 6) that connects to a SQL Server 7 DB using ODBC drivers. The apps connects to the database in the start and listens to the users requests and replies with the required data.
The apps is working fine, but once in a while it looses connection and gives "Communication link failure" message.
I just restart the apps and it is able to reconnect and perform as normal without any problems.
I am not able to find the reason as this behaviour as its very much unpredictable!
The error is returned by SQLExecDirect() function.
The question is, since I still have the Connection Handle, is it possible to just reconnect to the database re-using the same handle ? or do I have any other choices ?
Okay-- if anyone can solve this they are truly the SQL genius! We are getting this error when we run a VB program that we use to access an SQL database on a server across our network on a workstation. In fact we get this same error when we even run the program on the server where the SQL database is running or on any of our workstations. Here is the error message:
08501:[Micorsoft][odbc sql server driver] communications link failure
Now the odd thing is that many other functions in the workstation application work fine and retrieve data from SQL but certain data requests by the workstation application fail with the above error message and we get this message consistently. Even though it appears that different workstations running the identical Vb application will get this error consistently but in different locations when running the application. We were running SQL 6.5 on an old server, with the workstation application for literally years without any problems. We also decided to upgrade to a new server, installed server 2000 operating system and the latest version of SQl -- moved all the databases pointed the workstations odbc at this new server and get exactly the same error in the same location in the workstation applications. The programmer that wrote the application and designed the database in SQL can't find the problem and a number of other computer "experts" also could not find the error. We did add a new linksys DSL router/firewall but everything kept working after this installation for several weeks so I don't know if this is the problem on the network. THe programmer also noted that he had problems using terminal services on our network to connect to his office computer and decided that there must be some network issues that are causing the ODBC communicaitions to fail and also terminal services to fail-- or of course they may be unrelated. Has anyone ever seen this ODBC communication error in their travels through SQL implementations? Any help will be greatly appreciated. If we can't fix this we will have to abandon a software application that has been used for over five years and just too complex to rewrite.
Problem: We have intermittent failures of SQL Server jobs with the following error - TCP Provider: The specified network name is no longer available. [SQLSTATE 08S01] Communication link failure [SQLSTATE 08S01]
Types of job steps failing: DBCC Checkdb, LiteSpeed backups, re-indexing sql in stored procs, home-grown database update stored procs. These types of job steps are failing on 3 different servers in a 4-way active cluster although all 4 servers have the same type of job steps. No steps involved attempt cross-server processes, job only uses its own server and SAN. Environment: 4-way active IA64bit cluster Windows 2003 datacenter running SQL2005 RTM. All 4 nodes attached to EMC Clarion SAN.
What we have already looked at: No additonal messages in event viewers. SQL Agent additional logging shows same error. Network services has monitored and sees nothing. Network services is current on firmware upgrades (just applied last batch 2 weeks ago) and still got 2 more errors after the upgrades. I've seen other postings (with no solutions) where people have same error with SQL2000 through SQL2005 SP2, so i don't believe SP2 will help this.
I am facing a strange problem using ADO to connect Sql Server that I can not resolve it.
My program connected to SqlServer when it started, the state of the connectionPtr was adoStateOpen.Then I disable the network card and enable it immeditately, the errors happened when I executed the sql query probably because of connectionPtr was invalid,but the state of connectionPtr was always adoStateOpen.
1)Msg: Unspecified error Source: Microsoft OLE DB Provider for ODBC Drivers Description: [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionWrite (send()).
2)Msg: Unspecified error Source: Microsoft OLE DB Provider for ODBC Drivers Description: [Microsoft][ODBC SQL Server Driver]Communication link failure.
Should I reconnect to SqlServer?How can I catch this error when the connection is valid except other errors?
Sorry,my english is poor and thanks for your response.
I have an SSIS package which runs subsequent packages in a batch. When I run the main package through command line or a SQL job and connect to a data warehouse that is on the same machine, it runs without a problem. When I try and connect to a warehouse on a remote machine (ideal configuration), it fails with this error:
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 Native Client" Hresult: 0x80004005 Description: "Communication link failure". 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: "TCP Provider: An existing connection was forcibly closed by the remote host. ".
This seems to happen on random subpackages and isn't always consistent.
My Master.dts.Config file has this connection info:
All, I need a help from you all. I am getting this error if the users are running the application which is connecting from MSAccess97 to SQL Server 2000. Error: [Microsoft][ODBC SQL Server Driver]Communication link failure I would appreciate if you send me the resolution for this problem. Thanks, Reddy
I get the message Microsoft [ODBC Sql server driver]communication link failure error message in my VB 6 application with MSDE engine. This error does not happen often. My connection string is as below.
Several of our customers are getting a message intermitantly throughout the day where the connection is closed. The message being generated is [Microsoft][ODBC SQL Server Driver]Communication Link Failure.
These messages started in the last two weeks.
Thanks for any direction that can be thrown my way.
I've a computer with W2K SP4 installed. Previously SQL Express 2005 worked but according to the user it "just stopped working".
When selecting database on the server in the "Data Link Properties"-window he is given the following error message:
"Microsoft Data Link" "Login failed. Catalog information cannot be retrieved" followed by "Microsoft Data Link Error" "Connection failure" Note: He is not given the error message "Server does not exist or access denied!"
- The SQL service is started (can be stopped and restarted without problem) - I've re-installed SQL Express. - I've checked and is certain the server name is correct (i.e. computernameSQLEXPRESS)
We have been seeing random inexplicable communication link failures when communicating with a Win2K SQL server for a while now. After a very detailed analysis of the various causes of the problem (network, name lookups, etc.), we've narrowed it down to possibly the ODBC driver. We are using TCP/IP.
I've stuck a packet sniffer on the connection between the SQL server and the client and in almost all cases, the connection suddenly terminates with the client sending a TCP reset to the server.
Looking at the packet traces further, it seems like in about 60% of the cases, there is period of activity on the TCP connection, then some inactivity during which there is a constant stream of TCP keepalives between the client and server and then suddenly the client resets the TCP connection.
Now, we can usually correlate this TCP reset to some new activity initiated on the client application, so could this be related to connection pooling in the ODBC? Thats the only inference I can obtain.
We are running Win2K SP3a on the server.
Any ideas on what else to look for or how to debug this further? I have 10GB of packet traces and can provide more details on the connection traces if necessary. The problem also is that we have ~100 clients constantly communicating with the SQL server and we will see anywhere from 10-20 random CLFs in a day.
I've searched the archives extensively and this does seem to be a problem for many people, but a few of them seem to have had genuine network problems and we've pretty much ruled that out since there are other simultaneous TCP connections between the client and the server and they seem to be okay.
We had a setup that used to work up until about a month ago, and I'm just getting around to investigating it. A previously functioning Service Broker app exchanging messages between 2 boxes in a dev/qa environment stopped delivering messages.
Both endpoints are set up to use AUTHENTICATION=WINDOWS and have connect granted to public on both.
The sender side has all the messages piling up in the sys.transmission_queue. When I profile the exchanges, I see initiator -> target connection then the target trace gets
10054(An existing connection was forcibly closed by the remote host.)
and the initiator trace gets
Connection handshake failed. An OS call failed: (80090350) 0x80090350(The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you.). State 66.
I've checked that the login that's used to run the target Sql Server instance is in the security list for the initiator instance. I've checked that I can log into the initiator instance with the creds for that account. Both machines can see the domain controller.
I've googled on the "forcibly closed" message in the target trace but all I've found so far says that it's either 1) mismatched security 2) no connect on the endpoints 3) expired certificates.
None of which appear to apply here. Haven't found any message mixing "forcibly closed" with the latter message.
I receive the following error message when I run a distributed query against a loopback linked server in SQL Server 2005: The Microsoft Distributed Transaction Coordinator (MS DTC) has cancelled the distributed transaction.
To resolve this problem, I was told that running a distributed query against a loopback linked server is not supported in SQL Server 2005. And I am suggested to use a remote server definition (sp_addserver) instead of a linked server definition to resolve this problem. (Although this is only a temporary resolution, which will deprecate in Katmai)
However, I run into another problem when I use the remote server definition. I receive the following error message: Msg 18483, Level 14, State 1, Line 1 Could not connect to server 'ServerNameSQL2005' because '' is not defined as a remote login at the server. Verify that you have specified the correct login name.
Could anyone please help me out? (I include the reproduce steps for the first error message, followed by my resolution that generates the second error message) ====== Reproduce steps for the first error message ======
On the ComputerAInstanceA instance, run the following statement to create a database and a table: CREATE DATABASE DatabaseA GO USE DatabaseA GO CREATE TABLE TestTable(Col1 int, Col2 varchar(50)) GO INSERT INTO TestTable VALUES (1, 'Hello World') GO
On the ComputerBInstanceB instance, run the following statement to create a database and a table: CREATE DATABASE DatabaseB GO USE DatabaseB GO CREATE TABLE TestTable (Col1 int, Col2 varchar(50)) GO
On the ComputerAInstanceA instance, create a linked server that links to the ComputerBInstanceB instance. Assume the name of the linked server is LNK_ServerB.
On the ComputerBInstanceB instance, create a linked server that links to the ComputerAInstanceA instance. Assume the name of the linked server is LNK_ServerA.
On the ComputerBInstanceB instance, run the following statement: USE DatabaseB GO CREATE PROCEDURE InsertA AS BEGIN SELECT * from LNK_ServerA.DatabaseA.dbo.TestTable END GO
On the ComputerAInstanceA instance, run the following statement: USE DatabaseA GO INSERT INTO TestTable EXEC LNK_ServerB.DatabaseB.dbo.InsertA GO Then I receive the first error message.
======= My resolution that generates the second error message =======
On the ComputerBInstanceB instance, run the following statement: sp_addserver 'ComputerAInstanceA' GO sp_serveroption 'ComputerAInstanceA', 'Data Access', 'TRUE' GO USE DatabaseB GO CREATE PROCEDURE InsertA AS BEGIN SELECT * FROM [ComputerAInstanceA].DatabaseA.dbo.TestTable END GO
On the ComputerAInstanceA instance, run the following statement: USE DatabaseA GO INSERT INTO TestTable EXECUTE [ComputerBInstanceB].[DatabaseB].[dbo].[InsertA] GO Then I receive the second error message.
I’m attempting to insert the result set from a remote query into a local table and I’m getting the following error:
Msg 8501, Level 16, State 1, Line 1 MSDTC on server 'REMOTESVR' is unavailable. OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d01c]. Msg 7391, Level 16, State 1, Line 1
The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.
MSDTC is running on both servers. Has anyone ever seen this or have any insight into the cause?
Scenario: I have one windows server 2003 and 2 windows XP clients on one machine by virtual pc. All pings to each other. The 2 windows XP clients are joining a domain in the server. They have administrator accounts and administrative privilages on each other.
On each windows there is SQL2000 with SP3 using windows authentication. Each MSSQLServer and other SQL Services log in by the administrator domain account and has the domain account of the other windows in sysadmin role.
Both XP SQL Servers are linked to each other.
MSDTC is running on all servers with allowing every available option by Services Components.
Firewalls are off in all servers.
Although, neither distributed transactions work giving this error: "Server: Msg 7391, Level 16, State 1, Line 7 The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction."
Also Snapshot agent in replication cannot start.
My Question is: Is there something to do with RPC and how? Please help...
I haev an ssis package that copies mulitpple tables from one sever to another.
Halfway thru one of the table copies i get:
[OLE DB Source [1]] Error: An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80004005 Description: "Protocol error in TDS stream". 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: "TCP Provider: An existing connection was forcibly closed by the remote host. ". 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: "TCP Provider: An existing connection was forcibly closed by the remote host. ". 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: "TCP Provider: The specified network name is no longer available. ".
Hi, Can anyone shed any light on a connectivity issue I am seeing 'in the field'?
I am using a SQL2005 Express SP2 'default' instance database running on a WEPoS (a prepackaged XPe SP2 variant for Point Of Service) platform. The application connects to SQL via an ADO trusted connection / DSN pointing to '(local)'. SQL2005 is configured to use shared memory for local connections and named pipes for remote connections.
This all runs fine (sometimes for days on end) ... Then out of the blue I get the following error: [Microsoft][ODBC Sql Server Driver][Shared Memory]ConnectionWrite (send()). SqlState 01000 Err: 0x2746
In the latest example this was on an 'INSERT INTO' statement with 7 parameters (~100 bytes the lot!)
Resetting the connection (.close->.open) in the connection error handler reconnects fine and catches the error in the majority of cases, but unfortunately this is not possible from some of the older (closed source) code we use.
Has anyone else had similar experiences? Better still does anyone have a workaround that does not involve changing application code?
I also made the observation (and this may be a red herring as no LAN comms is required in this case) that the external PC LAN connection was intermittent around the time of the error - although the timestamps from the logs were off by 10/15 mins.
A/Virus McAffee v4.5.1 SP1 is also installed on the PC.