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