FIX: 判斷提示已失敗時發生 SQL Server 2005 中分散式交易協調器 (DTC) 交易由 DTC 復原該交易被認可時,回

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

按一下這裡查看此文章的英文版本:977350
Microsoft 為一個可下載檔案散佈 Microsoft SQL Server 2005 的修正程式。因為修正程式是累積,每個新版本包含所有 Hotfix 及先前的 SQL Server 2005 隨附所有安全性修正程式都修正發行。
徵狀
考慮下列案例:
  • 在 Microsoft SQL Server 2005 中,您可以正被認可藉由 [分散式交易協調器 」 (DTC) 交易。
  • DTC 交易中的 [SQL] 交易的其中一個會復原回之後,DTC 會準備認可的分散式的交易。比方說回殺死 DTC 交易涉及某些 SPID 之後,可能會復原 SQL 交易。或者當 SQL 交易正在執行的活動會產生錯誤時,可能會復原 SQL 交易。
在這種情況下而且可能會發生一些判斷提示失敗,某些 mini-dump 檔案會在 SQL Server 記錄資料夾中產生。這個問題時 SQL Server 錯誤記錄檔會記錄下列錯誤訊息:
<Date Time> spid12s * *******************************************************************************
<日期時間 > spid12s *
<日期時間 > spid12s * BEGIN 堆疊傾印:
<日期時間 > spid12s * < 日期時間 > spid 12
<日期時間 > spid12s *
<日期時間 > spid12s * 位置: xactrm.cpp:2336
<日期時間 > spid12s * 運算式: m_state = = BaseXact::XACT_PREPARED
<日期時間 > spid12s * SPID: 12
<日期時間 > spid12s * 處理序識別碼: 3008

<日期時間 > spid12s 錯誤: 17066,嚴重性: 16,狀態: 1。
<日期時間 > spid12s SQL Server 判斷提示已: 檔案: <xactrm.cpp>,線條 = 2336年無法判斷提示已 = 'm_state = = BaseXact::XACT_PREPARED'。這個錯誤可能是計時相關。如果錯誤持續發生之後重新執行該陳述式,使用 DBCC CHECKDB 來檢查資料庫的結構的完整性,或重新啟動伺服器以確保記憶體中資料結構不會損毀。
<日期時間 > spid12s 錯誤: 3624,嚴重性: 20,狀態: 1。
<日期時間 > spid12s A 系統判斷提示檢查失敗。請檢查 SQL Server 錯誤記錄檔以取得詳細資料。通常,判斷提示失敗是由軟體 Bug 或資料損毀所造成。若要檢查的資料庫損毀,請考慮執行 DBCC CHECKDB。如果您同意將傾印在安裝期間傳送至 Microsoft,迷你的傾印會傳送到 Microsoft。更新會提供從 Microsoft 在最新的 Service Pack 或從技術支援部門 QFE。

<Date Time> spid12s * *******************************************************************************
<日期時間 > spid12s *
<日期時間 > spid12s * BEGIN 堆疊傾印:
<日期時間 > spid12s * < 日期時間 > spid 12
<日期時間 > spid12s *
<日期時間 > spid12s * 位置: viperrm.cpp:2587
<日期時間 > spid12s * 運算式: 0
<日期時間 > spid12s * SPID: 12
<日期時間 > spid12s * 處理序識別碼: 3008
<日期時間 > spid12s * 描述: 此時允許沒有例外狀況

<日期時間 > spid12s 錯誤: 17065,嚴重性: 16,狀態: 1。
<日期時間 > spid12s SQL Server 判斷提示已: 檔案: <viperrm.cpp>,線條 = 2587年無法判斷提示已 = '0' 此時允許沒有例外狀況。這個錯誤可能是計時相關。如果錯誤持續發生之後重新執行該陳述式,使用來檢查資料庫的結構完整性的 DBCC CHECKDB 或重新啟動伺服器,請確定在記憶體中資料結構未損毀。
<日期時間 > spid12s 錯誤: 17053,嚴重性: 16,狀態: 1。
<日期時間 > spid12s 高優先順序的系統工作執行緒: 作業系統錯誤 0x1 遇到例外狀況。
發生的原因
這個問題發生,因為 DTC 和資源管理員 (SQL Server) 之間的邏輯不一致。此不一致觸發判斷提示] 核取。
解決方案
這個問題的修正程式先於累計更新 7 的 SQL Server 2005 Service Pack 3 發行。如更多有關此累積更新套件,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
976951SQL Server 2005 Service Pack 3 的累積更新套件 7
附註因為組建是累計,每個新的修正程式版本包含所有 Hotfix 及先前的 SQL Server 2005 隨附所有安全性修正程式都修正發行。Microsoft 建議您考慮安裝最新的修正程式發行版本包含此 Hotfix。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
960598SQL Server 2005 會建置發行 SQL Server 2005 Service Pack 3 之後所發行
Microsoft SQL Server 2005 的 Hotfix 會建立特定的 SQL Server Service Pack。您必須將 SQL Server 2005 Service Pack 3 Hotfix 套用到 SQL Server 2005 Service Pack 3 的安裝。預設狀況下,在 SQL Server Service Pack 中提供任何 Hotfix 包含在下一個 SQL Server Service Pack。
狀況說明
Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。
参考
如更多有關累加式的維修模型為 SQL Server,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
935897累加式的維修模型是可以從 SQL Server 小組來傳遞回報問題的 Hotfix
如需有關如何取得 SQL Server 2005 Service Pack 3,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
913089如何取得最新的 Service Pack,SQL Server 2005 的
如需有關新功能與 SQL Server 2005 Service Pack 3 中的改良的詳細資訊,請造訪下列 Microsoft 網站: 如 SQL Server 更新命名的結構描述的更多有關,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
822499Microsoft SQL Server 軟體更新套件的新命名結構描述
如需有關軟體更新術語的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

警告:本文為自動翻譯

內容

文章識別碼:977350 - 最後檢閱時間:12/22/2009 03:24:17 - 修訂: 2.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems

  • kbmt kbexpertiseadvanced kbsurveynew kbqfe kbfix KB977350 KbMtzh
意見反應