FIX: Extremely Large Number of User Tables on AWE System May Cause BPool::Map Errors (319477)



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

This article was previously published under Q319477
BUG #: 356784 (SHILOH_BUGS)

SYMPTOMS

On systems that have a large number of user tables (typically 100000 or more) that are running with Address Windowing Extensions (AWE) turned on, SQL Server may log the following error message in the SQL Server error log:
BPool::Map: no remappable address found.
Error: 17803, Severity 20, State 14
Insufficient memory available
The 17803 error messages may have state numbers other than 14, but the BPool::Map error should always show up first.

There may be additional information in the SQL Server error log similar to:
2002-04-09 15:09:18.82 spid77    Query Memory Manager:  Grants=2 Waiting=0 Maximum=2229 Available=762
2002-04-09 15:09:19.04 spid68    Buffer Distribution:  Stolen=203317 Free=333 Procedures=161
		Inram=0 Dirty=16283 Kept=0
		I/O=0, Latched=479, Other=450547
2002-04-09 15:09:19.04 spid68    Buffer Counts:  Commited=671120 Target=671120 Hashed=467309
		InternalReservation=667 ExternalReservation=1299 Min Free=512
2002-04-09 15:09:19.04 spid68    Procedure Cache:  TotalProcs=36 TotalPages=161 InUsePages=79
2002-04-09 15:09:19.04 spid68    Dynamic Memory Manager:  Stolen=203310 OS Reserved=1664 
		OS Committed=1635
		OS In Use=1599
		Query Plan=204 Optimizer=201546
		General=2887
		Utilities=49 Connection=223
2002-04-09 15:09:19.04 spid68    Global Memory Objects:  Resource=1984 Locks=289 
		SQLCache=101 Replication=2
		LockBytes=2 ServerGlobal=43
		Xact=37
				
NOTE: In this SQL Server error log text, the word "Commited" is a misspelling for the word "Committed."

In the failure case, the number reported as "Latched" is typically several thousand.

CAUSE

The lazywriter process has an incorrect calculation for determining whether it needs to run and free up infrequently used buffers so that they are available for mapping in AWE buffers.

RESOLUTION

Service pack information

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 How to obtain the latest SQL Server 2000 service pack

Hotfix information

SQL Server 2000 Service Pack 2

The English version of this fix should have the following file attributes or later:
   Version      File name
   ----------------------------

   8.00.0594    Sqlservr.exe
				

SQL Server 2000 Service Pack 3

The English version of this fix should have the following file attributes or later:
   Version      File name
   ----------------------------

   8.00.0840    Sqlservr.exe
				

NOTE: Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.


STATUS

Microsoft 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:MinorLast Reviewed:9/27/2005
Keywords:kbHotfixServer kbQFE kbQFE kbSQLServ2000preSP4fix kbbug kbfix KB319477