Sunday, February 19, 2012

[DBNETLIB][ConnectionWrite (send()).] General network error.

Hi,
in our environment
- Windows XP
- SQL Server Express 2005
- Internet connection via TCP/IP protocol

The described network error occurs, when we unplug the network cable:
[DBNETLIB][ConnectionWrite (send()).] General network error.

The affected database resides on the locally installed SQLExpress, it doesn't use any network connections. The error doesn't occur immediately, in most cases there are up to 30 seconds where data can be (correctly!) written to the recordset, but after that timeout the connetion is broken.

We already tried out the described workarounds:
- disable named pipes protocol
- set SynAttackProtect=0 in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

The error doesn't occur with MSDE (SQL 2000) or under Vista.

Thanks for help!

Mathias

I suggest using shared memory to connect locally or making sure your server specification is one that correctly gets resolved to use the loopback (e.g. .\ or (local) or localhost). You may also want to see if your hosts file has an entry for the machine to make sure it resolves its own name. Right now, it appears as though your communications are going out over the network. You may have some amount of data transfer after unplugging the cable because the network connection is buffered, so the server still has that much data in its network buffer before it runs out. I think the connection timeout is consuming the bulk of that 30 seconds. Vista most likely has its own hostname in its hosts file, or has some other trick for self-resolving its computer name. More than likely, your instance of SQL 2000 is using shared memory to connect or using a different specification of the hostname.

Hope that helps,

John

No comments:

Post a Comment