錯誤 #: 984 (SQL Hotfix)
錯誤 #: 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 會執行適當的資料行的掃描,就會發生這個問題。這項掃描會花額外的編譯時間。
解決方案
支援的 hotfix 可從 Microsoft 取得。不過,此 Hotfix 僅用於修正本文中所述的問題。此 Hotfix 只適用於發生此特定問題的系統上。此 hotfix 可能會接受其他測試。因此,如果此問題的影響不會很嚴重,我們建議您等候含此 hotfix 的下一版軟體更新。
如果 hotfix 可供下載,在此知識庫文件頂端將出現「可用的 Hotfix」區段。如果這個區段沒有出現,請連絡 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 知識庫 」 中的文件︰
如何取得最新的 service pack,SQL Server 2005 的913089
重新啟動資訊
您不必套用此 hotfix 之後,重新啟動電腦。
登錄資訊
您沒有變更登錄。
Hotfix 檔案資訊
此 hotfix 只包含這些檔案所需來修正本文所列的問題。此 hotfix 並未包含您必須將產品完整更新至最新版組建的所有檔案。
此 hotfix 的英文版具有下列表格中所列檔案屬性 (或較新的檔案屬性)。這些檔案的日期和時間會以國際標準時間 (UTC) 格式列出。當您檢視檔案資訊時,會將它轉換為本地時間。若要查看 UTC 與當地時間的時差,請在 [控制台] 中的日期和時間項目使用 [時區] 索引標籤。
SQL Server 2005 32年位元版本
檔案名稱 |
檔案版本 |
檔案大小 |
日期 |
時間 |
平台 |
---|---|---|---|---|---|
Msgprox.dll |
2005.90.2174.0 |
197,920 |
17-Jul-2006 |
20:03 |
x86 |
Msmdlocal.dll |
9.0.2174.0 |
15,701,792 |
17-Jul-2006 |
20:04 |
x86 |
Msmdredir.dll |
9.0.2174.0 |
3,967,776 |
17-Jul-2006 |
20:03 |
x86 |
Replprov.dll |
2005.90.2174.0 |
547,616 |
17-Jul-2006 |
20:05 |
x86 |
Replrec.dll |
2005.90.2174.0 |
782,112 |
17-Jul-2006 |
20:02 |
x86 |
Sqlaccess.dll |
2005.90.2174.0 |
347,936 |
17-Jul-2006 |
20:03 |
x86 |
Sqlservr.exe |
2005.90.2174.0 |
28,951,896 |
17-Jul-2006 |
20:04 |
x86 |
Xpstar90.dll |
2005.90.2174.0 |
292,128 |
17-Jul-2006 |
20:03 |
x86 |
SQL Server 2005 x64 為主的版本
檔案名稱 |
檔案版本 |
檔案大小 |
日期 |
時間 |
平台 |
---|---|---|---|---|---|
Msgprox.dll |
2005.90.2174.0 |
259,360 |
18-Jul-2006 |
08:05 |
x64 |
Msmdlocal.dll |
9.0.2174.0 |
15,701,792 |
17-Jul-2006 |
20:04 |
x86 |
Msmdredir.dll |
9.0.2174.0 |
3,967,776 |
17-Jul-2006 |
20:03 |
x86 |
Replprov.dll |
2005.90.2174.0 |
745,248 |
18-Jul-2006 |
08:06 |
x64 |
Replrec.dll |
2005.90.2174.0 |
1,008,416 |
18-Jul-2006 |
08:04 |
x64 |
Sqlaccess.dll |
2005.90.2174.0 |
355,104 |
18-Jul-2006 |
08:05 |
x86 |
Sqlservr.exe |
2005.90.2174.0 |
39,351,072 |
18-Jul-2006 |
08:05 |
x64 |
Xpstar90.dll |
2005.90.2174.0 |
539,936 |
18-Jul-2006 |
08:05 |
x64 |
SQL Server 2005 Itanium 架構版本
檔案名稱 |
檔案版本 |
檔案大小 |
日期 |
時間 |
平台 |
---|---|---|---|---|---|
Msgprox.dll |
2005.90.2174.0 |
542,496 |
17-Jul-2006 |
22:38 |
IA-64 |
Msmdlocal.dll |
9.0.2174.0 |
48,828,704 |
17-Jul-2006 |
22:39 |
IA-64 |
Msmdredir.dll |
9.0.2174.0 |
6,154,016 |
17-Jul-2006 |
22:39 |
IA-64 |
Replprov.dll |
2005.90.2174.0 |
1,617,184 |
17-Jul-2006 |
22:39 |
IA-64 |
Replrec.dll |
2005.90.2174.0 |
2,141,472 |
17-Jul-2006 |
22:39 |
IA-64 |
Sqlaccess.dll |
2005.90.2174.0 |
349,472 |
17-Jul-2006 |
22:38 |
x86 |
Sqlservr.exe |
2005.90.2174.0 |
72,235,296 |
17-Jul-2006 |
22:40 |
IA-64 |
Xpstar90.dll |
2005.90.2174.0 |
950,048 |
17-Jul-2006 |
22:36 |
IA-64 |
狀態
Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。
更多的資訊
遞增索引鍵資料行可能會造成不正確的統計資料有頻繁的插入作業的資料表。這些索引鍵資料行可能是識別資料行或代表真實世界的時間戳記的日期時間資料行。常見的問題,對於某些 SQL Server 應用程式是在其中的資料通常是 ascends 的情況。例如,您擁有包含日期時間資料行的資料表和資料行代表目前的日期。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 知識庫 」 中的文件︰
822499新命名的結構描述的 Microsoft SQL Server 軟體更新套件
如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
用來描述 Microsoft 軟體更新標準術語的編號 824684描述