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

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本: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 - 最後檢閱時間:01/17/2015 07:28:05 - 修訂: 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

  • kbnosurvey kbarchive kbmt kbsqlserv2000presp4fix kbfix kbbug kbhotfixserver kbqfe KB838459 KbMtzh
意見反應