FIX: 可能會發現當您啟用追蹤旗標 2389年和 2390年的 SQL Server 2005 Service Pack 1 的編譯時間的大型增加

文章翻譯 文章翻譯
文章編號: 922063 - 檢視此文章適用的產品。
Bug #: 984 (SQL Hotfix)
Bug #: 441938 (SQLBUDT)
注意事項
Microsoft 為一個可下載檔案散佈 Microsoft SQL Server 2005 的修正程式。因為修正程式是累積,每個新版本包含所有 Hotfix 及先前的 SQL Server 2005 隨附所有安全性修正程式都修正發行。
全部展開 | 全部摺疊
本文將告訴您下列關於此 Hotfix 版本:
  • 此 Hotfix 套件所修正的問題
  • 安裝 Hotfix 套件的先決條件
  • 是否之後,您必須重新啟動電腦安裝 Hotfix 套件的相關資訊
  • 是否 Hotfix 套件就會取代任何其他 Hotfix 套件的相關資訊
  • 您必須在是否做任何登錄變更的相關資訊
  • 包含在 Hotfix 套件中的檔案

徵狀

考慮下列案例。您正在執行 SQL Server 2005 Service Pack 1 (SP1)。啟用追蹤旗標 2389年和 2390 啟用自動產生快速的統計資料遞增的金鑰。在此案例中,您可能會遇到下列行為:
  • 您注意到在編譯時間內大幅增加。
  • 因為無法判定正確的最大值為資料行,SQL Server 並不能產生有效率的查詢計劃。

發生的原因

SQL Server 會執行適當的資料行的掃描,就會發生這個問題。這項掃描花額外的編譯時間。

解決方案

Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。這個 Hotfix 可能會接受額外的測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個包含此 Hotfix 的軟體更新。

如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果本節 Does Not Appear 請連絡[ Microsoft 客戶服務 ] 和 [ 支援 ] 以取得此 Hotfix。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support
附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。

必要條件

您必須有 SQL Server 2005 Service Pack 1 (SP1) 安裝若要套用此 Hotfix。

如需有關如何取得 SQL Server 2005 SP1 的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
913089如何取得最新的 Service Pack,SQL Server 2005 的

重新啟動資訊

您沒有套用此 Hotfix 之後重新啟動電腦。

登錄資訊

您沒有變更登錄。

Hotfix 檔案資訊

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

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用在 [日期及時間中項目控制台中的 [時區] 索引標籤]。
SQL Server 2005 32年位元版本
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Msgprox.dll2005.90.2174.0197,9202006 年七月 17 日20: 03x86
Msmdlocal.dll9.0.2174.015,701,7922006 年七月 17 日20: 04x86
Msmdredir.dll9.0.2174.03,967,7762006 年七月 17 日20: 03x86
Replprov.dll2005.90.2174.0547,6162006 年七月 17 日20: 05x86
Replrec.dll2005.90.2174.0782,1122006 年七月 17 日20: 02x86
Sqlaccess.dll2005.90.2174.0347,9362006 年七月 17 日20: 03x86
Sqlservr.exe2005.90.2174.028,951,8962006 年七月 17 日20: 04x86
Xpstar90.dll2005.90.2174.0292,1282006 年七月 17 日20: 03x86
SQL Server 2005 x x64 為主版
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Msgprox.dll2005.90.2174.0259,3602006 年七月 18 日08: 05x64
Msmdlocal.dll9.0.2174.015,701,7922006 年七月 17 日20: 04x86
Msmdredir.dll9.0.2174.03,967,7762006 年七月 17 日20: 03x86
Replprov.dll2005.90.2174.0745,2482006 年七月 18 日08: 06x64
Replrec.dll2005.90.2174.01,008,4162006 年七月 18 日08: 04x64
Sqlaccess.dll2005.90.2174.0355,1042006 年七月 18 日08: 05x86
Sqlservr.exe2005.90.2174.039,351,0722006 年七月 18 日08: 05x64
Xpstar90.dll2005.90.2174.0539,9362006 年七月 18 日08: 05x64
SQL Server 2005 Itanium 架構版本
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Msgprox.dll2005.90.2174.0542,4962006 年七月 17 日22: 38IA 64
Msmdlocal.dll9.0.2174.048,828,7042006 年七月 17 日22: 39IA 64
Msmdredir.dll9.0.2174.06,154,0162006 年七月 17 日22: 39IA 64
Replprov.dll2005.90.2174.01,617,1842006 年七月 17 日22: 39IA 64
Replrec.dll2005.90.2174.02,141,4722006 年七月 17 日22: 39IA 64
Sqlaccess.dll2005.90.2174.0349,4722006 年七月 17 日22: 38x86
Sqlservr.exe2005.90.2174.072,235,2962006 年七月 17 日22: 40IA 64
Xpstar90.dll2005.90.2174.0950,0482006 年七月 17 日22: 36IA 64

狀況說明

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

其他相關資訊

遞增索引鍵資料行可能會造成不準確的統計資料頻繁的插入作業的表格。這些索引鍵資料行可能是 IDENTITY 資料行或代表真實世界的時間戳記的 日期時間 資料行。為應用程式是在其中的資料通常 ascends 的情況下某些 SQL Server 常見的問題。比方說您有包含 日期時間 資料行的資料表,而且該資料行代表目前的日期。SQL Server 會建置假設資料將會大多是類似在未來的統計資料。但是時資料通常 ascends,, 大部分的新插入會超出先前找到的範圍。這種行為可能會造成不良的執行計劃,以建立。選取新的資料的篩選器可能排除整個關聯,即使大量的資料列都包含在內。

追蹤旗標 2389年和 2390年都新 SQL Server 2005 SP1 中。這些追蹤旗標可協助解決這個問題。SQL Server 2005 SP1 追蹤由後續的統計資料更新的資料行的本質。當 SQL Server 會決定統計資料增加三次時,資料行被附有遞增。如果下列情況成立,則將在查詢編譯時間會自動更新統計資料:
  • 設定追蹤旗標 2389年。
  • 資料行被附有遞增。
  • 做為前置字元鍵,在具有遞增資料行有涵蓋索引。
陳述式編譯來找出最高值,並將現有色階分佈圖來建立模型最近所加入的資料結尾處加入新步驟。

即使不知道資料行的遞增的本質,追蹤旗標 2390年會啟用追蹤旗標 2389,相同的行為。只要該資料行是索引中的前置資料行,最佳化器會更新查詢編譯時期都有最高的值的統計資料。永遠不會使用追蹤旗標 2390年單獨因為只要資料行的遞增的本質已知這個邏輯會被停用。

若要以便已知遞增的索引鍵的自動產生快速統計資料執行下列陳述式:
DBCC TRACEON ( 2389, -1 )
啟用自動產生快速的統計資料為包含的所有資料行已知遞增的索引鍵或未知的遞增索引鍵執行下列陳述式:
DBCC TRACEON ( 2389, 2390, -1 )
您也可以使用 -T Sqlservr.exe 啟用這些兩個追蹤旗標全伺服器的命令列參數。如需詳細資訊請造訪下列 Microsoft 開發人員網路 (MSDN) 網站]:
http://msdn2.microsoft.com/en-us/library/ms190737.aspx
如 Microsoft SQL Server 更新命名的結構描述的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
822499Microsoft SQL Server 軟體更新套件的新命名結構描述
如需有關軟體更新術語的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

屬性

文章編號: 922063 - 上次校閱: 2009年3月13日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2005 Service Pack 1
關鍵字:?
kbmt kbautohotfix kbexpertiseadvanced kbtshoot kbfix kbsql2005engine kbhotfixserver kbqfe kbpubtypekc KB922063 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:922063
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