您目前已離線,請等候您的網際網路重新連線

修正: 效能不佳時資料表值函式會使用 SQL Server 2008 R2 或 SQL Server 2008年中的許多資料表變數

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

按一下這裡查看此文章的英文版本:2566163
徵狀
假設您在資料表值函式在 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2008年中,使用許多資料表變數。在此情況下,您會遇到Tempdb資料庫sys.sysmultiobjrefs[2:1:103]表格的高度競爭。PAGELATCH_EXPAGELATCH_SH的服務設定檔識別碼等候等候門鎖sys.sysmultiobjrefs資料表,在大型的封鎖鏈結中的型別。
發生的原因
處理物件相依性的內部函式的鎖定,並接著刪除資料列,即使在大多數情況下,沒有任何資料列存在,就會發生這個問題。因此,就會發生許多專有的頁面閂鎖。
解決方案

累積更新資訊

累積更新 10 個 SQL Server 2008 Service Pack 3

這個問題的修正程式首次發表累積的更新 10] 中。如需有關如何為 SQL Server 2008年的 Service Pack 3 中取得此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2814783 SQL Server 2008年的 Service Pack 3 的累積更新套件 10
附註 由於組建便是累計的每個新的修正版本包含的所有 hotfix,並且所有安全性修正程式隨附於前一 SQL Server 2008 Service Pack 3 修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
2629969 SQL Server 2008年建置 SQL Server 2008年的 Service Pack 3 發行之後所發行的

SQL Server 2008 R2 的 Service Pack 1

SQL Server 2008 R2 Service Pack 1 的第一次這個問題的修正程式釋放累積的更新 3] 中。如需有關如何取得此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2591748 累積更新套件 3 SQL Server 2008 R2 Service Pack 1
附註 由於組建便是累計的每個新的修正版本包含的所有 hotfix,並且所有的安全性問題修正前的 SQL Server 2008 R2 隨附修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
2567616 SQL Server 2008年的 R2 建置之後所發行的 SQL Server 2008 R2 Service Pack 1 所發行的

SQL Server 2008 R2

這個問題的修正程式首次發表累積的更新 9] 中。如需有關如何取得此累積更新套件的 SQL Server 2008 R2 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
2567713 SQL Server 2008 R2 的累積的更新套件 9
附註 由於組建便是累計的每個新的修正版本包含的所有 hotfix,並且所有的安全性問題修正前的 SQL Server 2008 R2 隨附修正版本。我們建議您考慮將套用最新的修正程式版本,其中包含此 hotfix。如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
981356 SQL Server 2008年的 R2 建置 SQL Server 2008 R2 發行之後所發行的

Hotfix 資訊

您可以從 Microsoft 取得的支援的 hotfix。然而,其目的只為修正這篇文章所說明的問題。套用此 hotfix,僅提供給已遭遇此特定問題的系統。

此 hotfix 已開放下載,有此知識庫文件頂端的 「 下載 Hotfix 」 區段。如果沒有出現這一節,將要求提交到 Microsoft 客戶服務及支援 」 取得 hotfix。

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

必要條件

若要套用此 hotfix 之後,您必須有 SQL Server 2008 R2 或安裝的 SQL Server 2008年。

重新啟動需求

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

Hotfix 取代資訊

此 hotfix 不會取代先前發行的 hotfix。

檔案資訊

檔案屬性 (或較新的檔案屬性),此 hotfix 的全球版本具有下表所示。其日期和時間,這些檔案會列出在國際標準時間 (UTC)。當您檢視檔案資訊時,會將它轉換成當地時間。若要查看 UTC 與當地時間的時差,請使用 時區 在索引標籤 日期和時間 在 [控制台] 中的項目。

SQL Server 2008年檔案資訊
檔案名稱檔案版本檔案大小日期時間平台
Sqlservr.exe2007.100.5831.043,080,70425-央-201315:14x86
Sqlservr.exe2007.100.5831.058,131,45625-央-201315:16x64
Sqlservr.exe2007.100.5831.0111,902,20025-央-201315:14IA-64

SQL Server 2008 R2 檔案資訊
檔案名稱檔案版本檔案大小日期時間平台
Sqlservr.exe2009.100.1798.0122,301,79216-日-201122:19x86
Sqlservr.exe2009.100.1798.061,978,46416-日-201122:53x64
Sqlservr.exe2009.100.1798.042,910,56016-日-201123:50IA-64
其他可行方案
若要解決這個問題,請使用下列方法之一:
  • 停用 AUTO_UPDATE_STATISTICS 在 Microsoft SQL Server 2008 R2 Management Studio 中的選項。
  • 移除動態資料表值函式。
狀況說明
Microsoft 已經確認這是 「 適用於 」 一節中所列的 Microsoft 產品中的問題。
其他相關資訊
如需有關資料表值使用者定義函式的詳細資訊,請造訪下列 MSDN 網站:


警告:本文為自動翻譯

內容

文章識別碼:2566163 - 最後檢閱時間:03/18/2013 16:39:00 - 修訂: 3.0

Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Express with Advanced Services, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Workgroup

  • kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbautohotfix kbmt KB2566163 KbMtzh
意見反應