This article was previously published under Q275661
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 58170 (SQLBUG_70)
When SQL Server performs a remote stored procedure call (RPC) or a linked server query to another SQL Server server, after the query completes, a request is submitted to the remote server to reset the connection before the connection is put back into a connection pool for a period of time. An ODBC or OLE DB-based application that is using the driver or provider shipped with Microsoft SQL Server 2000 may also reset the connection when using connection or session pooling.
After the connection has been reset, an attempt to terminate a system process ID (SPID) with the Transact-SQL KILL command causes the following error message to occur:
Server: Msg 6107, Level 14, State 1, Line 1Only user processes can be killed.
Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 3 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
274799 INF: How to Obtain Service Pack 3 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0
For more information, contact your primary support provider.
After the connection has been reset, the SPID indicates that it is in a "dormant" state in the sysprocesses system table. If you do not use the connection for a period of time a background process closes the connection. Such a SPID should not be holding on to any locks or resources that would affect other users.
However, if the pooled connection is reused and starts a command that ties up resources or that causes blocking that needs to be terminated (with the KILL command), you are unable to terminate the SPID with the KILL command.