May 22, 2008 at 6:40 am
Hi All
I am having a SQL Server 2005(64Bit) on Windows 2003, this morning i had a strange problem.
There are some jobs which runs on other server, fetches data from this server via linked server, this job usually takes 2 minutes to complete, and this morning when i came in, the jobs had ran for 13 minutes and failed with the error stating
"The OLE DB provider "SQLNCLI" for linked server "Mainsrvr" reported an error. Execution terminated by the provider because a resource limit was reached. [SQLSTATE 42000] (Error 7399) Cannot fetch the rowset from OLE DB provider "SQLNCLI" for linked server "dbsrvr1". . [SQLSTATE 42000] (Error 7421) OLE DB provider "SQLNCLI" for linked server "dbsrvr1" returned message "Query timeout expired". [SQLSTATE 01000] (Error 7412). The step failed."
i tried to access data via linked server on SSMS it works fine, then on the actual server there are jobs were running for hours since morning, which usually takes seconds to run, there are no CPU used on this machine,
I need to restart the server to make the operations go smoothly, i cant figure out what was the problem and then why this happened, there are no logs reagrding this.
Has any one faced this before, in case this happens in future, is there any ways to solve the problem without restarting the server.
Cheers
June 16, 2008 at 8:20 am
Hi,
I have the same problem, unfortunately no solution for it. But it seams that the tasks on the linked server are executed only no response is sent back to the originating server.
Did you find something new about this?
Cheers
October 15, 2008 at 3:18 pm
When I found your post above, I was glad that I wasn't the only one with the same exact error message. Also, when you search on Error 7399, 7421, and 7412, there's not a whole lot that comes up. So, I'm pasting my own here to show you, because I doubt you will like the answer:
Executed as user: xxx. The OLE DB provider "SQLNCLI" for linked server "xxxx" reported an error. Execution terminated by the provider because a resource limit was reached. [SQLSTATE 42000] (Error 7399) Cannot fetch the rowset from OLE DB provider "SQLNCLI" for linked server "xxxx". . [SQLSTATE 42000] (Error 7421) OLE DB provider "SQLNCLI" for linked server "xxxx" returned message "Query timeout expired". [SQLSTATE 01000] (Error 7412). The step failed.
Answer: I spent about 2 hours on the phone with a MS support engineer, who determined that the problem was the use of parallelism on my Server. After adding the syntax: OPTION (MAX DOP n) [n = integer equaling 1 through the total number of physical CPU's on the server - he tried 1, 2, 3, and 4], at the end of the query that timed out, it ran in 0.1 seconds. But, the GUI's "Processor" settings, if set to use all CPU's (including cores), the "advanced settings" value is "0", which means "infinite" in terms of parallelism. I've got a 4 CPU server.
You can reset the global number by running:
sp_configure "maximum degree of parallelism", 4 (or n)
reconfigure with override
Hope you can try this and let the post know if it worked.
b.........
October 15, 2008 at 3:25 pm
If you are trying to use linked server to link 64 bit SQL server 2005 to 32 bit SQL server you will get this message.
this is a known issue. please find the solution in the below link
http://support.microsoft.com/default.aspx?scid=kb;en-us;906954
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply