FIX: 您可能會收到 BPool::Map 警告,當您建立或重建索引使用 awe 啟用組態選項

文章翻譯 文章翻譯
文章編號: 838459 - 檢視此文章適用的產品。
Bug #: 471227 (SHILOH_BUGS)
Microsoft SQL Server 2000 的修正程式的發送是一個可下載的檔案。由於此修正程式是累積,每個新版本包含所有 Hotfix,隨附先前的 SQL Server 2000 所有安全性修正程式都修正發行。
全部展開 | 全部摺疊

在此頁中

徵狀

當您執行 CREATE INDEX 陳述式或陳述式正在執行 SQL Server 與 awe 啟用 組態選項的電腦上設定為 1,下列 BPool::Map DBCC DBREINDEX 警告和 DBCC MEMORYSTATUS 陳述式可能會寫入 SQL Server 錯誤記錄檔:
2004 02 26 07:36:21.10 spid52 BPool::Map: 找到不 remappable 地址。
2004 02 26 07:36:21.24 spid52 緩衝區散發: 遭竊 = 149242 免費 = 389930 程序 = 2 Inram = 0 Dirty = 92791 保留 = 0 我 / O = 0 Latched = 10,其他 = 264025
2004 02 26 07:36:21.24 spid52 緩衝區計數: 認可 = 896000 目標 = 雜湊 896000 = 356826 InternalReservation = 104 ExternalReservation = 280 最小可用 = 224
2004 02 26 07:36:21.24 spid52 程序快取: TotalProcs = 1 TotalPages = 2 InUsePages = 2
2004 02 26 07:36:21.24 spid52 動態記憶體管理員: 遭竊 = 921 OS 保留 = 1600 OS 認可 = 1559 OS 使用中的 = 1557年查詢計劃 = 13 最佳化器 = 0 一般 = 1712年公用程式 = 23 連線 = 58
2004 02 26 07:36:21.24 spid52 全域記憶體物件: 資源 = 1495年鎖定 = 671 SQLCache = 69 複寫 = 2 LockBytes = 2 ServerGlobal = 43 Xact = 21
2004 02 26 07:36:21.24 spid52 查詢記憶體管理員: 授與 = 1 等待 = 0 的最大值 = 150588 可用 = 1992年
附註正在建立的索引必須存放在資料庫是簡單復原模式,或大量記錄的復原模式任一組。

解決方案

服務套件資訊

如果要解決這個問題,取得最新的 Service Pack,Microsoft SQL Server 2000。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
290211如何取得最新的 SQL Server 2000 Service Pack

Hotfix 資訊

此 Hotfix 的英文版具有檔案屬性 (或更新) 中如下表所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。
   Date         Time   Version            Size    File name
   ----------------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe      
   28-Oct-2003  04:21  2000.80.873.0     315,968  Custtask.dll     
   30-Jan-2004  16:29  2000.80.911.0      33,340  Dbmslpcn.dll     
   25-Apr-2003  02:12                    786,432  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf
   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql
   12-Sep-2003  03:26  2000.80.859.0   1,905,216  Dtspkg.dll       
   26-Aug-2003  20:16  2000.80.854.0     528,960  Dtspump.dll      
   23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll        
   23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll       
   24-Apr-2003  02:51                    747,927  Instdist.sql
   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql
   30-Jan-2004  16:29  2000.80.911.0      90,692  Msgprox.dll      
   01-Apr-2003  02:07                      1,873  Odsole.sql
   30-Jan-2004  16:29  2000.80.911.0      62,024  Odsole70.dll     
   30-Jan-2004  16:29  2000.80.911.0      25,144  Opends60.dll     
   30-Jan-2004  16:28  2000.80.911.0      57,904  Osql.exe         
   02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll     
   04-Aug-2003  18:17                    550,780  Procsyst.sql
   12-Sep-2003  00:37                     12,305  Qfe469315.sql
   22-May-2003  22:57                     19,195  Qfe469571.sql
   30-Jan-2004  01:16                  1,090,380  Replmerg.sql
   30-Jan-2004  16:29  2000.80.911.0     221,768  Replprov.dll     
   30-Jan-2004  16:29  2000.80.911.0     307,784  Replrec.dll      
   29-Jan-2004  23:24  2000.80.911.0     159,813  Replres.rll
   06-Sep-2003  00:00                  1,087,150  Replsys.sql
   13-Aug-2003  16:28                    986,603  Repltran.sql
   30-Jan-2004  16:29  2000.80.911.0     287,304  Rinitcom.dll     
   30-Jan-2004  16:29  2000.80.911.0      57,916  Semnt.dll        
   29-Jul-2003  20:13  2000.80.819.0     492,096  Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll
   02-Jan-2004  19:42  2000.80.904.0      53,832  Snapshot.exe     
   09-Dec-2003  20:07                    117,834  Sp3_serv_uni.sql
   05-Feb-2004  00:46  2000.80.913.0      28,672  Sqlagent.dll     
   05-Feb-2004  00:47  2000.80.913.0     311,872  Sqlagent.exe     
   19-Feb-2004  18:02  2000.80.916.0     168,001  Sqlakw32.dll     
   30-Jan-2004  16:29  2000.80.911.0   4,215,360  Sqldmo.dll       
   07-Apr-2003  17:44                     25,172  Sqldumper.exe    
   29-Jan-2004  23:17  2000.80.911.0      28,672  Sqlevn70.rll
   05-Mar-2004  17:13  2000.80.922.0     180,792  Sqlmap70.dll     
   03-Sep-2003  02:56  2000.80.857.0     188,992  Sqlmmc.dll       
   02-Sep-2003  23:03  2000.80.857.0     479,232  Sqlmmc.rll
   22-Oct-2003  00:08  2000.80.871.0     401,984  Sqlqry.dll       
   30-Jan-2004  16:29  2000.80.911.0      57,920  Sqlrepss.dll     
   09-Mar-2004  19:54  2000.80.922.0   7,614,545  Sqlservr.exe     
   30-Jan-2004  16:29  2000.80.911.0     590,396  Sqlsort.dll      
   30-Jan-2004  16:29  2000.80.911.0      45,644  Sqlvdi.dll       
   30-Jan-2004  16:29  2000.80.911.0     106,588  Sqsrvres.dll     
   30-Jan-2004  16:29  2000.80.911.0      33,340  Ssmslpcn.dll     
   30-Jan-2004  16:29  2000.80.911.0      82,492  Ssnetlib.dll     
   30-Jan-2004  16:29  2000.80.911.0      25,148  Ssnmpn70.dll     
   28-Oct-2003  04:21  2000.80.873.0     123,456  Stardds.dll      
   30-Jan-2004  16:29  2000.80.911.0     158,240  Svrnetcn.dll     
   30-Jan-2004  16:29  2000.80.911.0      76,416  Svrnetcn.exe     
   30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll          
   30-Jan-2004  16:29  2000.80.911.0      98,872  Xpweb70.dll      
附註由於檔案相依性最新版 Hotfix 或包含這些檔案的功能也可能包含其他檔案。

附註若要以便 Hotfix,您必須啟用追蹤旗標 3940。若要以動態方式啟用追蹤旗標,執行 DBCC TRACEON(-1,3940) 命令之前重建索引。然後,停用追蹤旗標藉由執行 DBCC TRACEOFF(-1,3940) 命令。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

這個問題,首先已經在 Microsoft SQL Server 2000 服務套件 4 中獲得修正。

其他相關資訊

當一個資料庫使用簡單復原模式或大量記錄的復原模式時,所有 Dirty 分頁必須被寫入磁碟之前交易認可。Dirty 分頁是已建立但不是修改尚未寫入磁碟的頁面。SQL Server 會使用已修改特定的頁數,甚至之前交易認可後會發出非同步寫入要求一種機制。在認可的邏輯資料庫引擎會等候所有完成的非同步寫入要求。不過,SQL Server 不會限制未完成非同步寫入要求數目使用任何類型的節流機制。

中發生這個問題在情況下 CREATE INDEX 作業已作業建置叢集的索引和資料表放入快取後,立即建置新的非叢集索引。 此外,表格大小允許 CREATE INDEX 程序執行記憶體中排序。沒有中間的排序的執行必須被寫入至磁碟。因此,索引建立處理程序可以讀取、 排序,和骯髒率很高的網頁。 已被用於排序的許多遭竊緩衝區的組合和在發出寫入作業的節流閥缺乏,可能會導致整個位址空間的 mappable 緩衝區以會暫時無法使用。

如果要解決這個問題,追蹤旗標 3940 已加入。追蹤旗標 3940 throttles 1,024 並行非同步寫入要求數目。當啟用此追蹤旗標清除該交易的 Dirty 分頁程式碼會等待每個 1,024th 的寫入作業完成之前其他的程式碼問題寫入要求。這個節流理論上可能會造成非常小的效能降低的情形。因為問題會發生在極少數的情況下,Microsoft 決定使用追蹤旗標,以便不會收到 BPool::Map 警告任何客戶並不會受到可能的效能差異修正這個問題。

理論上會因為的而不是 CREATE INDEX] 作業的作業可能會發生這個問題,但未發現其他原因。若要確認這個 Bug 已 BPool::Map 警告的可能的原因,尋找下列其他的徵狀從 SQL Server 錯誤記錄檔中 DBCC MEMORYSTATUS 輸出:
  • 緩衝區散發: 可偷得是一個大的值和通常帳戶的至少一個協力 mappable 緩衝區。確切的 mappable 計數取決包括是否與執行 Microsoft Windows 的許多因素 / 3GB 參數並在電腦中的實體記憶體。通常,mappable 計數是約 200 一千 2 GB 的位址空間和大約 320 千 3 GB 的位址空間。
  • 查詢記憶體管理員之間的差異: 最大值和查詢記憶體管理員: 可用的值通常是在幾個 thousand 偷來的值。
  • 緩衝區散發: 變更是大型,通常超過 80 一千緩衝區。
如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

屬性

文章編號: 838459 - 上次校閱: 2007年11月2日 - 版次: 4.2
這篇文章中的資訊適用於:
  • 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 Workgroup Edition
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
關鍵字:?
kbmt kbsqlserv2000presp4fix kbfix kbbug kbhotfixserver kbqfe KB838459 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:838459
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com