cancel
Showing results for 
Search instead for 
Did you mean: 

Local connection timeout

Former Member
4,162

We're using SQL Anywhere 10 on a Windows 2008 R2 server. There's an application running on the server that creates connections to the database when it initializes. The Sql Anywhere documentation states that these local connections using shared memory aren't subject to the 240 minute default timeout, but these connections close after the 240 minutes have elapsed.

This same application is running on a Windows 2003 server and the same version of SQL Anywhere with no problems. There are local connections that have been active for several days.

My question - Are local database connections subject to the database timeout running under Windows 2008 Server R2?

VolkerBarth
Contributor
0 Kudos

Just a wild guess: There might be differences in the treatment of the communication between same-machine server and client between Win 2000/XP/20003 vs. Vista and newer as far as services or terminal services are concerned. - At least for v12, this is documented here.

Is there a chance that the clients use TCP/IP instead of shared memory in the 2008 R2 server? (sa_conn_link() will tell...)

Accepted Solutions (0)

Answers (2)

Answers (2)

graeme_perrow
Advisor
Advisor

I can confirm that shared memory connections in SA 10 are not subject to the idle timeout. As of version 12 they can be if requested by the client application, though the default is still off.

Idle timeout on TCP connections in version 10 and later (actually version 6 and later) does default to 240 minutes, so it is likely that you are actually connecting over TCP/IP as Volker and Mark said. Do select connection_property('CommNetworkLink') to be sure.

Former Member
0 Kudos

I just ran sa_conn_properties on our 2003 Server and CommNetworkLink = "SharedMemory", so that is the difference. Thanks for the help!

MarkCulp
Participant

There are big differences to the security model between Windows 2003 and Windows 2008 R2. One of these differences is that processes run in different namespaces (sessions) so that processes that have been created by different remote desktop sessions cannot directly "see" each other. As a result I suspect, like Volker has suggested in his comment, that your client is connecting via TCP/IP rather than shared memory.

Former Member
0 Kudos

Thanks for the input. sa_conn_info reports CommLink as 'local' and the NodeAddr is blank. sa_conn_properties reports CommNetworkLink as 'TCPIP'. These 2 properties seem to contradict each other.

I'm not a DBA and am learning as I go, so I appreciate the input!

Alan.

MarkCulp
Participant

Yes, at first it would appear to be contradictory... but CommLink will report 'local' if the connection is to a process that resides on the same host as the server.

Former Member
0 Kudos

Yep - just after I posted that response I discovered that CommNetworkLink was 'TCPIP' on the 2008 server. We can adjust our programs to allow for that - now that we know what the real situation is.