修正︰ 封鎖與效能可能會發生問題時如果暫存資料表建立工作負載很高,會啟用 SQL Server 2005 中的追蹤旗標 1118

適用於: Microsoft SQL Server 2005 Developer EditionMicrosoft SQL 2005 Server EnterpriseMicrosoft SQL Server 2005 Enterprise X64 Edition

錯誤: # 50001020 (SQL Hotfix)
Microsoft 會為一個可下載的檔案散佈 Microsoft SQL Server 2005年的修正程式。的修正程式是累積的因為每個新版本包含的所有 hotfix,和先前的 SQL Server 2005 隨附的所有安全性修正都修正版本。

摘要


本文會說明下列有關此 hotfix 版本︰
  • 此 hotfix 套件所修正的問題
  • 套用 hotfix 套件的先決條件
  • 是否必須重新啟動電腦套用 hotfix 套件之後
  • 是否 hotfix 套件會取代任何其他 hotfix 套件
  • 您是否必須做的任何登錄變更您在套用 hotfix 套件之後,
  • Hotfix 套件包含的檔案

狀況


在 Microsoft SQL Server 2005 中,您可能會注意到發生封鎖及效能相關問題。如果下列情況成立,您會遇到這個問題︰
  • 您啟用追蹤旗標 1118年。
  • 暫存資料表建立工作負載很高。
  • 多個資料檔案存在,tempdb 資料庫。
在 sysprocesses 系統資料表中,tempdb 資料庫中的 [waittype] 欄中的值設定為 PAGELATCH。

原因


當 tempdb 資料庫中的多個資料檔案存在,就會發生這個問題。這些多個資料檔案存在,當閂鎖等候便會發生在 tempdb 資料庫的共用通用配置對應 (SGAM) 頁面中。

解決方案


支援的 hotfix 可從 Microsoft 取得。不過,此 Hotfix 僅用於修正本文中所述的問題。此 Hotfix 只適用於發生此特定問題的系統上。此 hotfix 可能會接受其他測試。因此,如果此問題的影響不會很嚴重,我們建議您等候含此 hotfix 的下一版軟體更新。

如果 hotfix 可供下載,在此知識庫文件頂端將出現「可用的 Hotfix」區段。如果這個區段沒有出現,請連絡 Microsoft 客戶服務及支援以取得 hotfix。

注意如果發生其他問題,或如果需要進行疑難排解,您可能必須建立個別的服務要求。收取支援費用會套用到其他支援問題和此特定 hotfix 無法解決的問題。如 Microsoft 客戶服務及支援的電話號碼或建立個別的服務要求的完整清單,請造訪下列 Microsoft 網站︰注意「 下載 Hotfix 」 表單會顯示 hotfix 可用的語言。如果看不到您的語言,是因為未提供該語言的 Hotfix 。

先決條件

您必須擁有 Microsoft SQL Server 2005 Service Pack 2 (SP2) 若要套用此 hotfix 的安裝。

如需有關如何取得 SQL Server 2005 的 Service Pack 2 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件︰

如何取得最新的 service pack,SQL Server 2005 的913089

重新啟動資訊

您不必套用此 hotfix 之後,重新啟動電腦。

登錄資訊

您沒有變更登錄。

Hotfix 檔案資訊

此 hotfix 只包含這些檔案所需來修正本文所列的問題。此 hotfix 並未包含您必須將產品完整更新至最新版組建的所有檔案。

此 hotfix 的英文版具有下列表格中所列檔案屬性 (或較新的檔案屬性)。這些檔案的日期和時間會以國際標準時間 (UTC) 格式列出。當您檢視檔案資訊時,會將它轉換為本地時間。若要查看 UTC 與當地時間的時差,請在 [控制台] 中的日期和時間項目使用 [時區] 索引標籤。
SQL Server 2005,32 位元版本
檔案名稱檔案版本檔案大小日期時間平台
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3166.0296,30428-Apr-200702:53x86
Msmdlocal.dll9.0.3166.015,943,53628-Apr-200702:53x86
Mssqlsystemresource.ldf不適用52428827-Apr-200719:05不適用
Mssqlsystemresource.mdf不適用40,173,56827-Apr-200719:05不適用
Rdistcom.dll2005.90.3166.0644,46428-Apr-200702:53x86
Sqlaccess.dll2005.90.3166.0350,57628-Apr-200702:53x86
Sqlservr.exe2005.90.3166.029,190,51228-Apr-200702:53x86
Sysdbupg.sql不適用510,62226-Apr-200710:04不適用
SQL Server 2005,64 位元版本
檔案名稱檔案版本檔案大小日期時間平台
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3166.0296,30428-Apr-200702:53x86
Msmdlocal.dll9.0.3166.015,943,53628-Apr-200702:53x86
Mssqlsystemresource.ldf不適用52428827-Apr-200719:05不適用
Mssqlsystemresource.mdf不適用40,173,56827-Apr-200719:05不適用
Rdistcom.dll2005.90.3166.0828,27228-Apr-200716:12x64
Sqlaccess.dll2005.90.3166.0357,74428-Apr-200716:12x86
Sqlservr.exe2005.90.3166.038,509,93628-Apr-200716:12x64
Sysdbupg.sql不適用510,62226-Apr-200710:04不適用
SQL Server 2005,Itanium 架構版本
檔案名稱檔案版本檔案大小日期時間平台
Microsoft.sqlserver.maintenanceplantasks.dll9.0.3166.0296,30428-Apr-200702:53x86
Msmdlocal.dll9.0.3166.049,887,08828-Apr-200710:09IA-64
Mssqlsystemresource.ldf不適用52428827-Apr-200719:05不適用
Mssqlsystemresource.mdf不適用40,173,56827-Apr-200719:05不適用
Rdistcom.dll2005.90.3166.01,885,04028-Apr-200710:09IA-64
Sqlaccess.dll2005.90.3166.0352,11228-Apr-200710:09x86
Sqlservr.exe2005.90.3166.072,626,03228-Apr-200710:09IA-64
Sysdbupg.sql不適用510,62226-Apr-200710:04不適用

因應措施


若要解決這個問題,請停用追蹤旗標 1118年。您以互動方式可以使用下列的 DBCC TRACEOFF 命令來停用的追蹤旗標︰
DBCC TRACEOFF (1118, -1)
您也可以指定追蹤旗標,作為啟動參數的 SQL Server 服務。當您指定的追蹤旗標,作為啟動參數時,追蹤旗標會在 SQL Server 服務啟動時自動啟用。如果您的追蹤旗標設定為啟動參數時,仍然可以使用 DBCC TRACEOFF 命令以互動方式停用的追蹤旗標。

狀態


Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

更多的資訊


本文所描述的 hotfix 會影響 tempdb 資料庫。此 hotfix 會大幅降低需要使用追蹤旗標 1118年,強制執行統一的配置。如果您套用修正程式,仍然遇到 TEMPDB 爭用時,請考慮也開啟追蹤旗標 1118年。
如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

用來描述 Microsoft 軟體更新標準術語的編號 824684描述

如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

328551修正︰ 為 tempdb 資料庫的並行存取增強功能

注意一般而言,如果的邏輯處理器數目小於或等於 8,使用相同數目的資料檔案做為邏輯處理器。如果邏輯處理器數目大於 8,使用 8 為資料檔案,然後如果爭用持續,請增加資料檔案數目 (最多的邏輯處理器數目) 的 4 的倍數直到爭用會減少到可接受的層級,或對工作負載/程式碼中的變更。