Microsoft KB Archive/305573

From BetaArchive Wiki
Knowledge Base


Article ID: 305573

Article Last Modified on 10/9/2003



APPLIES TO

  • Microsoft SQL Server 2000 Standard Edition



This article was previously published under Q305573

BUG #: 354989 (SHILOH_BUGS)

SYMPTOMS

A call of the xp_findnextmsg extended stored procedure returns 1 when the Inbox of the configured MAPI profile is empty. This is a regression in SQL Server 2000 from earlier versions, where xp_findnextmsg returned 0 under these circumstances. This regression makes it impossible to distinguish between a MAPI failure and an empty Inbox. This also affects the sp_processmail system stored procedure.

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack


Hotfix

NOTE: The following hotfix was created prior to Microsoft SQL Server 2000 Service Pack 2.

The English version of this fix should have the following file attributes or later:

   Date         Time    Version   Size     File name     Platform
   --------------------------------------------------------------
   04-Aug-2001  12:19   8.00.427  172,600  Sqlmap70.dll  Intel
                

NOTE: Due to file dependencies, the most recent hotfix or feature that contains the above files may also contain additional files.


STATUS

Microsoft has confirmed this to be a problem in SQL Server 2000. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 2.

MORE INFORMATION

To reproduce the problem, run the following SQL script:

exec master..xp_startmail '<your profile>'
go
DECLARE @status int, @message_id varchar(255)
EXEC @status = xp_findnextmsg @msg_id = @message_id OUTPUT
select Status=@status, Msg_id=@message_id
                

This returns a status of 0 on SQL Server 7.0, but a status of 1 on SQL Server 2000.

NOTE: If you installed version 8.00.427 of Sqlmap70.dll for other reasons, but your application code relies on the original behavior in SQL Server 2000 (xp_findnextmsg returns 1 against an empty Inbox), you can add the following value to the registry to revert to the original behavior of SQL Server 2000. Name: FindNextMsgFailOnEmptyInbox Type: DWORD Value: 1 Location:

  • for a default instance of SQL Server 2000:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer

  • for a named instance:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<instance name>\MSSQLServer

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

For additional information on other SQL Mail bugs fixed in the same hotfix, click the article number below to view the article in the Microsoft Knowledge Base:

300414 FIX: SQL Mail Operations May Lead to Failures and Memory Leaks



Additional query words: Inbox MAPI sp_processmail failure

Keywords: kbbug kbfix KB305573