BUG: sp_sqlexec with Two Selects Causes Bad Token Error

ID: Q112700


The information in this article applies to:

BUG# NT: 701 (4.2)

SYMPTOMS

When a client application issues a sp_sqlexec from one NT SQL Server to another server and the command string passed to sp_sqlexec contains multiple SELECT statements, the client application will appear to hang after receiving the first results set. If the client cancels the pending request and attempts to issue further commands using the current dbprocess, these will fail with the errors:

Attempt to initiate a new operation with results pending Bad Token from SQL Server. Datastream processing out of sync.


CAUSE

The execution of a sp_sqlexec from a local NT SQL Server to a remote server in which multiple SELECT statements are included in the command batch will cause the client not to receive results after the first results set.


WORKAROUND

This behavior will not occur if sp_sqlexec is used to execute a stored procedure that returns multiple results sets. Instead of sending multiple selects as ad-hoc SQL, place the selects in a stored procedure and execute the procedure remotely either using sp_sqlexec or using standard RPC calling methods.


STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server version 4.2. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

Additional query words: calls rpc proc Windows NT


Keywords          : kbprg kbbug4.20 SSrvWinNT 
Version           : 4.2
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: March 18, 1999