FIX: SQL Mail Operations May Lead to Failures and Memory Leaks (300414)
The information in this article applies to:
- Microsoft SQL Server 2000 (all editions)
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.
---------------------------------------------------------------------------
RESOLUTIONTo 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
HotfixNOTE: 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.
Modification Type: | Major | Last Reviewed: | 10/9/2003 |
---|
Keywords: | kbbug kbfix kbSQLServ2000preSP2Fix kbSQLServMail KB300414 |
---|
|