问题
I know there is a lot of information in the Internet about solving this problem, but it didn't help me.
My Delphi application uses dbExpress controls to access the database and execute SQL queries. Once every couple of days, however, it stops working because the database connection fails. This happens on several different computers with different versions of Windows. MSSQL Server 2005 (version 9.0.4035) is installed on each of them.
The above mentioned application executes queries every couple of seconds, and they are mainly insert commands. Every couple of days I get a series of exceptions like the following one:
[DBNETLIB][ConnectionOpen (PreLoginHandshake()).]General network error. Check your network documentation.
And then the SQL server becomes inaccessible until I restart it manually.
The information I found in the Internet say that I should install some service packs, change some registry entries etc., but believe me, none of these helps and I don't know what else to do now.
Could you please help me solve this problem? Any clues or ideas? I can give you some more information about the server or the application if necessary.
Thank you very much in advance.
回答1:
What's your connection string look like? Are there firewalls (hardware or software) between the network connections?
Check out this link for ideas http://blogs.msdn.com/sql_protocols/archive/2005/10/29/486861.aspx
Re-reading your post, it's quite interesting that you need to restart SQL Server..that's a pretty serious deal. Normally these network errors are fleeting due to non-sql related items. Perhaps you are not closing all your connections properly. Do a "netstat -an" on the SQL server and see how many tcpip connections are lingering around. Look in enterprise manager as well. Since you had to restart SQL Server, the first thing I'd look at is the Error logs of SQL Server itself and then the windows event logs.
Next step after looking at all this and if you are still experiencing problems then I would highly recommend to open up a trouble ticket with Microsoft. It's typically not expensive and they are quite good at this sort of thing.
来源:https://stackoverflow.com/questions/2784391/sql-server-2005-and-general-network-error