Microsoft KB Archive/300414

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

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

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.