Wednesday, March 28, 2012
Intermittent Connectivity issues though network is fine
I am getting intermittent connectivity issues while connecting to a remote SQL Server 2000 database through the Enterprise Manager. It gives a time-out error
Initially I guessed it must be the network but then I was able to term-serv successfully into the remote server and work without any connectivity issues.
Any pointers how this is possible ?
Thanks for your help.
Regards,
-Ranjit S Hans.i think you have problem with the logging in.
to test this try to connect to this server using SQL Query analyzer and see if it gets connected instantly. If it's the case, there is something about the SQL Login you are using in app.
Hope this helps|||Thanks Wash. I had checked with my logins and they are fine. Also I dont see any issues with the server alias.
I have been thinking of increasing the timeout interval for the remote server.
Am wary to do it as it would need a restart of SQl services.
Any suggestions/workaround ?
Thanks,
-Ranjit
Monday, March 26, 2012
Intermittent connection timeout / general network error
We have a SQL 2005 clustered server (Microsoft Cluster Services) that is queried from 4 IIS6 Windows Server 2003 frontends. Each frontend runs both classic ASP apps connection with SQL Server ODBC and .NET2 apps connecting with System.Data.SqlClient. Ocassionaly we get a string of errors/timeouts opening a connection lasting maybe 2 minutes.
One the classic ASP apps we log one of these two errors:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC SQL Server Driver][DBNETLIB]General network error. Check your network documentation
or
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC SQL Server Driver]Timeout expired
on the ADODB.Connection.Open
On the .NET2 apps we log
Message Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
StackTrace at
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
at System.Web.SessionState.SqlSessionStateStore.SqlStateConnection..ctor(SqlPartitionInfo sqlPartitionInfo)
Source .Net SqlClient Data Provider
Any ideas for further debugging?
What does your connection string look like? Please try add "Connect Timeout=120" or "Connection Timeout = 120" in it, and see wether the problems go away.
Thanks!
Ming.
|||<add name="default" connectionString="Data Source=server;Initial Catalog=db;Integrated Security=False; uid=user; password=pw" providerName="System.Data.SqlClient"/>for .NET via TCP/IP
The regular ASP websites are having problems as well though using ODBC.
Upping the timeout seems like a band-aid at best and may lead to connections piling up and making the situation worse. There isn't a good reason for communication between the frontends and db server over a private Gigabit link to take over 30 seconds to connect.
|||You can use your HOSTS file to define the servername-IP address combination to resolve DNS names. If you have a DNS server, define this in your DNS server. Try a simple test. Try installing any SQL Server client tool(Query Analyzer, Enterprise Manager, etc) on the server running your .NET app. Connect to your database server using this client tool. If it takes more than 5 seconds to connect, there's something wrong with your network|||
Did you get an answer for this?
we are facign similar issues.
We have 4 way cluster sql server 2005 on SP2
|||No I haven't had any answers. The problem is definitely more pronounced during heavier traffic so I wasn't able to debug much during the lull during the summer.
Intermittent connection timeout / general network error
We have a SQL 2005
clustered server (Microsoft Cluster Services) that is queried from 4 IIS6
Windows Server 2003 frontends. Each frontend runs both classic ASP apps
connection with SQL Server ODBC and .NET2 apps connecting with
System.Data.SqlClient. Ocassionaly we get a string of errors/timeouts opening a
connection lasting maybe 2 minutes.
One the classic ASP
apps we log one of these two errors:
Microsoft OLE DB Provider for ODBC
Drivers (0x80004005)
[Microsoft][ODBC SQL Server
Driver][DBNETLIB]General network error. Check your network
documentation
or
Microsoft OLE DB Provider for
ODBC Drivers (0x80004005)
[Microsoft][ODBC SQL Server
Driver]Timeout expired
on the
ADODB.Connection.Open
On the .NET2 apps we
log
Message Timeout expired. The timeout
period elapsed prior to completion of the operation or the server is not
responding.
StackTrace at
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection
owningObject)
at
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
owningConnection)
at
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory)
at
System.Data.SqlClient.SqlConnection.Open()
at
System.Web.SessionState.SqlSessionStateStore.SqlStateConnection..ctor(SqlPartitionInfo
sqlPartitionInfo)
Source .Net SqlClient Data Provider
Any ideas for further debugging?
What does your connection string look like? Please try add "Connect Timeout=120" or "Connection Timeout = 120" in it, and see wether the problems go away.
Thanks!
Ming.
|||<add name="default" connectionString="Data Source=server;Initial Catalog=db;Integrated Security=False; uid=user; password=pw" providerName="System.Data.SqlClient"/>for .NET via TCP/IP
The regular ASP websites are having problems as well though using ODBC.
Upping the timeout seems like a band-aid at best and may lead to connections piling up and making the situation worse. There isn't a good reason for communication between the frontends and db server over a private Gigabit link to take over 30 seconds to connect.|||You can use your HOSTS file to define the servername-IP address combination to resolve DNS names. If you have a DNS server, define this in your DNS server. Try a simple test. Try installing any SQL Server client tool(Query Analyzer, Enterprise Manager, etc) on the server running your .NET app. Connect to your database server using this client tool. If it takes more than 5 seconds to connect, there's something wrong with your network|||
Did you get an answer for this?
we are facign similar issues.
We have 4 way cluster sql server 2005 on SP2
|||No I haven't had any answers. The problem is definitely more pronounced during heavier traffic so I wasn't able to debug much during the lull during the summer.|||We have a similar issue with our Clustered SQL Server 2005. We are seein it a lot in a VB 6 executable, but I have gotten the errors in Server Management Studio, too. We get one of two errors:
Timeout expired
or
[DBNETLIB][ConnectionOpen (Connect()).]SQL Server does not exist or access denied.
We have run Sysinternals Process Monitor on a PC that receives these errors and have seen a NAME NOT FOUND result on queryopen operation for CLUSAPI.DLL, RESUTILS.DLL and ntdsapi.dll. The path it is looking in is the application path C:\Program Files\ROAS. These DLLs don't exist in this folder, but do exist in C:\Windows\System32.
The first two are MS Clustering DLLS and i asume with a name like ntdsapi the other is a server OS DLL.