KB2444085 - 修正:如果啟用事件通知,當您執行從 BizTalk Server 2009 到 SQL Server 2008 或 SQL Server 2008 R2 的 DTC 交易時,「交易已 (WinMgmt) 中止」錯誤

套用到
SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup

Microsoft 會將 Microsoft SQL Server 2008 R2 和 Microsoft SQL Server 2008 修正程式發佈為一個可下載的檔案。 由於修正程式是累積的,因此每個新版本都包含先前的 SQL Server 2008 R2 和 Microsoft SQL Server 2008 修正程式版本中包含的所有 Hotfix 和所有安全性修正程式。

症狀

請考慮以下案例:

  • 您在電腦上安裝 Microsoft BizTalk Server 2009。
  • 您在另一部電腦上安裝 Microsoft SQL Server 2008 或 SQL Server 2008 R2。
  • 您將 SQL Server 2008 或 SQL Server 2008 R2 設定為 BizTalk Server 2009 的後端伺服器。
  • 您可以在 SQL Server 2008 或 SQL Server 2008 R2 中啟用事件通知。
  • 您執行一些分散式交易協調器, (傳送到 SQL Server 2008 或 SQL Server 2008 R2 以及來自 BizTalk Server 2009 的 DTC) 交易。

在此情況下,您可能會在執行 BizTalk Server 2009 的電腦上收到下列錯誤訊息:

注意

交易已 (WinMgmt) 中止

此外,在執行 SQL Server 2008 或 SQL Server 2008 R2 電腦上的 Windows 記錄檔中記錄了類似下列的事件:

來源: MSSQL$SSDB01
事件識別碼:17065
工作類別:伺服器
層級:錯誤
描述: SQL Server 判斷提示: 檔案: <purecall.cpp>, 行 = 51 失敗的判斷提示 = '!”purecall“' 純虛擬函數呼叫。 此錯誤可能與時間有關。 如果重新執行陳述式後仍持續發生錯誤,請使用 DBCC CHECKDB 來檢查資料庫的結構完整性,或重新啟動伺服器以確保記憶體內資料結構未損毀。
來源: MSSQL$SSDB01
事件識別碼: 8565
工作類別:伺服器
層級:錯誤
描述:SQL Server 無法準備 DTC 交易。 失敗代碼:3602。此外,會在應用程式記錄檔中產生迷你傾印檔案,並在 SQL Server 錯誤記錄檔中記錄下列錯誤訊息:

SqlDumpExceptionHandler: 處理序 22 已產生嚴重例外狀況 c0000005 EXCEPTION_ACCESS_VIOLATION。 SQL Server 正在終止此程序。
* *******************************************************************************
*
* 開始堆疊轉儲:
* 09/01/10 14:12:50 SPID 22
*
*
* 例外狀況位址 = 000000000000000000 模組 (未知+0000000000000000)
* 例外代碼 = c0000005 EXCEPTION_ACCESS_VIOLATION
* 寫入位址 0000000000000000000 發生存取違規

解決方式

累積更新資訊

SQL Server 2008 Service Pack 1

此問題的修正程式最初在 SQL Server 2008 Service Pack 1 的累積更新 12 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2467236 SQL Server 2008 Service Pack 1 的累積更新套件 12 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些修正程式都包含在上一個 SQL Server 2008 修正程式版本中。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

970365 發行 SQL Server 2008 Service Pack 1 之後所發行的 SQL Server 2008 組建Microsoft SQL Server會為特定 SQL Server Service Pack 建立 Hotfix。 您必須將 SQL Server 2008 Service Pack 1 Hotfix 套用至 SQL Server 2008 Service Pack 1 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

SQL Server 2008 R2

此問題的修正程式最初在累積更新 5 中發行。 如需有關如何取得 SQL Server 2008 R2 的累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2438347 SQL Server 2008 R2 的累積更新套件 5 注意:由於組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和先前 SQL Server 2008 R2 修正程式版本中包含的所有安全性修正程式。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 在 SQL Server 2008 R2 發行之後所發行的 SQL Server 2008 R2 組建 (機器翻譯)

SQL Server 2008 Service Pack 2

此問題的修正程式最初在 SQL Server 2008 Service Pack 2 的累積更新 2 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2467239 SQL Server 2008 Service Pack 2 累積更新套件 2 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些修正程式都包含在上一個 SQL Server 2008 修正程式版本中。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 SQL Server 2008 Service Pack 2 發行之後所發行的 SQL Server 2008 組建Microsoft SQL Server會為特定 SQL Server Service Pack 建立 Hotfix。 您必須將 SQL Server 2008 Service Pack 2 Hotfix 套用至 SQL Server 2008 Service Pack 2 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

如需 SQL Server 2008 R2 中資料庫引擎事件通知的詳細資訊,請造訪下列 Microsoft Developer Network (MSDN) 網站:

有關 SQL Server 2008 R2 中資料庫引擎事件通知的一般資訊
        
如需有關 SQL Server 累加式服務模型的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

935897 來自 SQL Server 團隊之可傳遞解決回報問題的 Hotfix 的累加服務模型 (機器翻譯)

如需有關 SQL Server 更新命名架構的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

822499 Microsoft SQL Server 軟體更新套件的新命名架構如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft知識庫」中的文章:

824684 描述Microsoft軟體更新所使用的標準術語說明