共用方式為


MSSQLSERVER_3988

適用於:SQL Server

詳細資料

屬性
產品名稱 SQL Server
事件識別碼 3988
事件來源 MSSQLSERVER
元件 SQLEngine
符號名稱 XACT_UNSUPPORT_PARALLEL_TRAN2
訊息文字 不允許進行新交易,因為有其他執行緒正在工作階段中執行。

說明

當您執行分散式查詢,此查詢會在會話設定為 ON 時聯結 SQL Server 遠端實例所裝載的多個資料表時XACT_ABORT發生此錯誤。 向使用者回報類似下列的錯誤訊息:

訊息 3988、層級 16、狀態 1、行#
不允許進行新交易,因為有其他執行緒正在工作階段中執行。

原因

當下列條件成立時,SQL Server 處理分散式查詢的方式有一些設計限制:

  • SQL Server 聯結一個遠端 SQL Server 數據源的多個數據表。
  • 發出查詢的會話不會登記在分散式交易中。

在此情況下,嘗試執行查詢可能會引發 [說明] 區段中提及的兩個錯誤之一。

使用者動作

若要解決此問題,請在「開始分散式交易」語句中括住分散式查詢:

BEGIN DISTRIBUTED TRANSACTION
/*The actual Distributed Query goes next, outside of comments*/
COMMIT TRANSACTION