NT SQLServer/Named Pipes/Phantom Processes

NT SQLServer/Named Pipes/Phantom Processes

Post by Steve Ril » Sun, 02 Oct 1994 07:52:35



I am posting this for an associate who has developed a Windows based
application which uses MS-NT SQLServer over Named Pipes on a Novell
network.  Apparently, each time the workstation starts the application,
a process is started on the SQLServer.  Unfortunately, when the program
exists, the SQLServer process does not.  This did not occur during
development.  The only difference is that in development they were on a
LAN Manager network running Named Pipes to the SQLServer over NETBEUI
instead of IPX/SPX.

Sorry, but I forgot to get details on version levels.  
Any thoughts?

Steve Riley

 
 
 

NT SQLServer/Named Pipes/Phantom Processes

Post by Bret Halfo » Wed, 05 Oct 1994 12:17:44


|> I am posting this for an associate who has developed a Windows based
|> application which uses MS-NT SQLServer over Named Pipes on a Novell
|> network.  Apparently, each time the workstation starts the application,
|> a process is started on the SQLServer.  Unfortunately, when the program
|> exists, the SQLServer process does not.  This did not occur during
|> development.  The only difference is that in development they were on a
|> LAN Manager network running Named Pipes to the SQLServer over NETBEUI
|> instead of IPX/SPX.
|>
|> Sorry, but I forgot to get details on version levels.  
|> Any thoughts?
|>

Sure, this sort of thing happens on most platforms, particularly where pc clients
are used and users disconnect by turning off power rather than doing a proper
quit.  The network layer often fails to detect this and doesn't notify SQL
Server.  I suspect the difference in networks is the reason this is showing up
now.

On platforms using TCP/IP, it is often possible (depends on platform) to set a
parameter called tcp_keepidle.  If there is no communication between client and
server for the defined length of time, the network sends a packet to the client,
basicly asking "are you alive?".  If the client does not send a packet in reply,
the network notifies the server that the connection has been terminated.  The
usual default for keepidle is 2 hour; if you are getting excessive numbers of
zombie processes it is a good idea to lower tcp_keepalive.  

I believe there is a similar parameter for SPX called "watchdog".

System 10 has been experiencing a related problem where "phantom" processes can
be seen holding locks in sp_lock, but the process id does not show up in sp_who.
The problem
is again associated with clients getting killed abnormally.  A recent bugfix,
55813, should resolve the problem.  I believe this fix will be included in the
10.0.2 rollup, you can check $SYBASE/install/SPR/cpr_sqls file after installation
to be sure.  One-off ebfs that fix this problem are currently available through
technical support.
--
---------------------------------------------------------------------

| Sybase Technical Support                                    __|
| 6475 Christie Avenue                                       |__
| Emeryville, CA 94608 USA                                      |___
| fax: (510)-922-3911              exec sp_realitycheck()           |
#####################################################################