Microsoft KB Archive/300414

From BetaArchive Wiki

Article ID: 300414

Article Last Modified on 10/9/2003



APPLIES TO

  • Microsoft SQL Server 2000 Standard Edition



This article was previously published under Q300414

BUG #: 354073(SHILOH_BUGS)
BUG #: 354394(SHILOH_BUGS)
BUG #: 354633(SHILOH_BUGS)
BUG #: 354524(SHILOH_BUGS)
BUG #: 354989(SHILOH_BUGS)
BUG #: 354921(SHILOH_BUGS)
BUG #: 354951(SHILOH_BUGS)
BUG #: 354640(SHILOH_BUGS)
BUG #: 354932(SHILOH_BUGS)
BUG #: 354634(SHILOH_BUGS)
BUG #: 354505(SHILOH_BUGS)
BUG #: 354636(SHILOH_BUGS)

SYMPTOMS

Microsoft SQL Mail issues which are related to MAPI profile handling, overall performance, thread safety, and memory leaks, have been identified and addressed.

The following table contains a list of the SQL Mail issues that have been addressed and the associated symptoms.

Bug        Symptom



354073:   The SQL Mail invocation of MapiLogonEx during xp_startmail,
              incorrectly reuses the MAPI Session interface pointer and
              causes a memory leak.



354394:   Execution of the xp_sendmail extended stored procedure causes
              a memory leak.



354932:   Execution of the xp_sendmail extended stored procedure causes
              a memory leak.



354636:   Execution of the xp_sendmail extended stored procedure causes
              a memory leak.



354633:   Internal handling of the MAPI contents table during execution of the
              xp_deletemail extended stored procedure causes a memory leak.



354524:   When SQL Mail is not started explicitly with the xp_startmail
              extended stored procedure on a named SQL Server instance,
              the xp_deletemail extended stored procedure fails.



354989:   The SQL Server 2000 xp_findnextmsg extended stored procedure
              returns 1 instead of 0 when run against an empty Inbox.

              For additional information, refer to the following article in the
              Microsoft Knowledge Base:

              Q305573 - FIX: Return Code of xp_findnextmsg Changed to 1
              Against an Empty Inbox



354921:   Thread safety issues associated with the xp_readmail,
              xp_findnextmsg and xp_deletemail extended stored procedures
              lead to numerous MAPI based failure conditions.



354505:   Thread safety issues associated with the xp_readmail,
              xp_findnextmsg and xp_deletemail extended stored procedures
              lead to numerous MAPI based failure conditions.



354951:   Execution of the xp_findnextmsg stored procedure against an
              empty Inbox can lead to an exception error.

              For additional information, refer to the following article in the
              Microsoft Knowledge Base:

              Q305576 - FIX: Regression: AV When xp_findnextmsg Is Invoked
              Against an Empty Inbox



354640:   Internal handling of MAPI column information in the xp_deletemail
              extended stored procedure causes a memory leak.



354634:   Internal handling of MAPI message pointer in the xp_deletemail
              extended stored procedure causes a memory leak.



354505:   Internal handling of MAPI message pointer in the xp_deletemail
              extended stored procedure causes a memory leak.


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:

   File name   Platform
   --------------------
   s80427i.exe Intel
                

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


WORKAROUND

You can minimize some of the memory leaks by making sure that SQL Mail is not stopped and started. Start SQL Mail one time, by using the xp_startmail stored procedure, and then leave SQL Mail active for the life of the SQL Server process. Stopping and starting SQL Mail forces the connect and disconnect code for MAPI to run frequently.

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

Use the performance monitor to evaluate the SQL Server private bytes and handle count in conjunction with a SQL Profiler Trace to determine if the server in question is using SQL Mail operations and encountering a problem.


Additional query words: SQLMail

Keywords: kbbug kbfix kbsqlservmail kbsqlserv2000presp2fix KB300414