FIX: sp_processmail Will Only Process One Query per Execution (152416)



The information in this article applies to:

  • Microsoft SQL Server 6.5

This article was previously published under Q152416

SYMPTOMS

The stored procedure sp_processmail will only process one query sent via e- mail each time it is run if SQLMail is running with Microsoft Exchange Client software.

CAUSE

The execution of xp_deletemail is breaking the loop in sp_processmail, which is used to process all of the messages.

WORKAROUND

If you are scheduling sp_processmail as a task, you have the following options:
  1. Change the task to run every minute. Note that this will work as long as there is not more than one query per minute sent to SQL Server via e-mail.
  2. Make multiple tasks to run sp_processmail that run every minute. This provides a workaround for option 1 above.
  3. Change the sp_processmail stored procedure not to delete the mail it responds to by commenting the xp_deletemail call.
  4. Change the sp_processmail stored procedure to not run in a loop but to instead do several iterations.

STATUS

Microsoft has confirmed this to be a problem in Microsoft SQL Server version 6.5.

Modification Type:MinorLast Reviewed:2/14/2005
Keywords:kbBug kbfix KB152416