Thursday, March 29, 2012

Error: ConnectionCheckForData (CheckforData())

Hi,
I'm running SQL 2k SP3a on a 2.2P4 workstation with 250GB
drives and Windows Server 2003 sp1. I'm running a fairly
simple stored proc and I get the following error:
[Microsoft][ODBC SQL Server Driver][Shared Memory]
ConnectionCheckForData (CheckforData()).
Server: Msg 11, Level 16, State 1, Line 0
General network error. Check your network documentation.
Connection Broken
I've tried changing protocols in the client utiltiy (tcp
and named pipes) as suggested elsewhere. There are no
errors in the application log or the sql log.
Any ideas what is happening? The same query doesn't
crash on W2k Server/SQL Server 2k. It happens repeatedly,
but sometimes on the first, second or third execution of
the stored proc.
Thanks for any insight.Hi Fred,
Have had this problem recently, it seems a common error with quite a
few different symptoms. I will tell you our story, which may or may
not help.
For our case, we had this error executing dynamic SQL over ADO.NET,
but could also recreate the problem via Query Analyser using different
protocols.
We were using a complex query and got either your error or the
following:
ODBC: Msg 0, Level 19, State 1
SqlDumpExceptionHandler: Process 51 generated fatal exception c0000005
EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.
Connection Broken
We only got this error under certain conditions but could reproduce it
faithfully under those conditions.
Sniffing around the newsgroups, the general opinion was that if you
changed the query slightly, then in some cases the problem just "went
away".
I found 2 solutions to our problem.
Solution 1
Our query was using a view and by putting a "TOP 100 PERCENT" clause
in the view the problem went away. This is the solution we went with.
Solution 2
By using "OPTION(MERGE JOIN)" or "OPTION(LOOP JOIN)" in the SQL
statement, the problem went away. By forcing "OPTION(HASH JOIN)" the
problem re-appeared.
My theory is that merge joins were causing the problem (possibly in
conjunction with parallel query execution) but can't prove anything
because when you get this problem, you can't even get a query plan.
Looking at the query plan after using "TOP 100 PERCENT" I noticed that
there were no merge joins, although that proves nothing.
I wish you luck.
"Fred Jones" <anonymous@.discussions.microsoft.com> wrote in message news:<98f701c3ea99$2
d681e80$a501280a@.phx.gbl>...
> Hi,
> I'm running SQL 2k SP3a on a 2.2P4 workstation with 250GB
> drives and Windows Server 2003 sp1. I'm running a fairly
> simple stored proc and I get the following error:
> [Microsoft][ODBC SQL Server Driver][Shared Memory]
> ConnectionCheckForData (CheckforData()).
> Server: Msg 11, Level 16, State 1, Line 0
> General network error. Check your network documentation.
> Connection Broken
> I've tried changing protocols in the client utiltiy (tcp
> and named pipes) as suggested elsewhere. There are no
> errors in the application log or the sql log.
> Any ideas what is happening? The same query doesn't
> crash on W2k Server/SQL Server 2k. It happens repeatedly,
> but sometimes on the first, second or third execution of
> the stored proc.
> Thanks for any insight.sql

No comments:

Post a Comment