FIX: Cursors That Have a Long Lifetime May Cause Memory Fragmentation (810526)
The information in this article applies to:
- Microsoft SQL Server 2000 Developer Edition
- Microsoft SQL Server 2000 Standard Edition
- Microsoft SQL Server 2000 Enterprise Edition
- Microsoft SQL Server 2000 Personal Edition
- Microsoft SQL Server 2000 Enterprise Evaluation Edition
- Microsoft SQL Server 2000 Workgroup Edition
- Microsoft SQL Server 2000 Desktop Engine (MSDE)
- Microsoft SQL Server 2000 Developer Edition 64 bit
- Microsoft SQL Server 2000 Enterprise Edition 64-bit
BUG #: 363153 (SHILOH_BUGS) This hotfix includes the files required to prevent or
resolve the W.32 Slammer worm. For additional
information, click the following article number to view the article in the
Microsoft Knowledge Base: 813440
Virus Alert About the W32.Slammer Worm
SYMPTOMSIf you open cursors and keep them open for a long time while
other queries are running on the same connection, allocation patterns may
fragment memory. Under certain circumstances, memory fragmentation might cause
the following symptoms: - Spurious out-of-memory errors.
-and- - The following message is logged in the SQL Server error
log:
Buffer Distribution: Stolen=203317
Free=333 Procedures=161 Inram=0 Dirty=16283 Kept=0 I/O=0, Latched=479,
Other=450547 Buffer Counts: Commited=671120 Target=671120 Hashed=347309
InternalReservation=667 ExternalReservation=1299 Min Free=512 Procedure
Cache: TotalProcs=36 TotalPages=161 InUsePages=79 Dynamic Memory Manager:
Stolen=203310 OS Reserved=1664 OS Committed=1635 OS In Use=1599 Query Plan=204
Optimizer=120 General=122887 Utilities=49 Connection=223 Global Memory
Objects: Resource=1984 Locks=289 SQLCache=101 Replication=2 LockBytes=2
ServerGlobal=43 Xact=120037 Query Memory Manager: Grants=2 Waiting=0
Maximum=2229 Available=762 In the error case, the values for OS
Reserved, OS Committed and OS In Use are high, typically 20,000 or greater.
However, many other reasons can cause these values to be high. For a definitive
diagnosis of this bug, have a Microsoft Support Professional perform additional
analysis by using a dump file of the process. For this problem to
occur, the cursor must do something that requires memory allocations greater
than 8 KB. This is typically limited to a small subset of cursor
activity. RESOLUTIONService pack informationTo 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 How to obtain the latest SQL Server 2000 service pack Hotfix informationThe English version of this fix has the file attributes
(or later) that are listed in the following table. The dates and times for
these files are listed in coordinated universal time (UTC). When you view the
file information, it is converted to local time. To find the difference between
UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
Date Time Version Size File name
--------------------------------------------------------------
19-Nov-2002 19:50 2000.80.703.0 7,471,185 Sqlservr.exe
18-Jan-2002 04:45 2000.80.568.0 29,244 Dbmslpcn.dll
18-Jan-2002 04:45 2000.80.568.0 29,244 Ssmslpcn.dll
NOTE: Because of file dependencies, the most recent hotfix or feature
that contains these files may also contain additional
files. STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.
Modification Type: | Minor | Last Reviewed: | 9/27/2005 |
---|
Keywords: | kbHotfixServer kbQFE kbQFE kbSQLServ2000preSP4fix kbfix kbbug KB810526 |
---|
|