FIX: 未偵測到的死結發生於 CXPACKET 正在等候鎖定擁有者

文章翻譯 文章翻譯
文章編號: 293232 - 檢視此文章適用的產品。
Bug #: 352575 352695 (SHILOH)
全部展開 | 全部摺疊

徵狀

當一個 CXPACKET 正在等候鎖定擁有者執行內容 (EC) 時,平行查詢可能會遇到未偵測到的死結。

發生死結的您必須有兩個 spids,而且每個 spid 必須執行平行查詢。

sysprocesses 輸出顯示 (在單一 spid 名義上工作) 的多個 ECs 某些等候的鎖定和其他人 CXPACKET 在等候。

圖樣是使得從任一 spid 沒有直接 EC 相互關聯會導致標準鎖定 waiter 死結。每個鎖定 waiter 等候 CXPACKET 資源的擁有者被封鎖。若要驗證這種模式,您可以使用從 syslockinfo 系統資料表的查詢所收集的資訊。

若要決定是否 SQL Server 會遇到問題,請執行下列步驟:
  1. 執行一個"SELECT *"sysprocesses 系統資料表的查詢,然後執行一個"SELECT *"syslockinfo 系統資料表的查詢。
  2. 找出正在等候鎖定的已封鎖的 EC。
  3. 搜尋以查看誰擁有鎖定輸出。
  4. 決定是否主控 EC 正在等候一個 CXPACKET。
  5. 對所有的兩個可疑 spids ECs 重複步驟 1 到 4。
圖樣必須等候的一個 CXPACKET 的所有封鎖鎖定擁有。

解決方案

如果要解決這個問題,取得最新的 Service Pack,SQL Server 2000。如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
290211INF: 如何取得最新的 SQL Server 2000 Service Pack

Hotfix

此修正程式的英文版應該具有下列檔案屬性或更新版本:
   File name   Platform
   --------------------
   s80263i.exe INTEL
				
注意: 由於檔案相依性最新版 Hotfix 或包含上述檔案的功能也可能會包含其他檔案。

其他可行方案

如果要解決死結的狀況使用:
  • 查詢逾時。

    -或者-

  • Transact-SQL 殺死的命令。

狀況說明

Microsoft 已確認這是在 SQL Server 2000 中的問題。這個問題已經先在 SQL Server 2000 Service Pack 1 中獲得修正。

屬性

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