共用方式為


交易存留期間

適用於:SQL Server

在 Transact-SQL 預存程式中啟動的交易與在 Managed 程式代碼中啟動的交易之間有一個重要差異:Common Language Runtime (CLR) 程式代碼無法在 CLR 調用的進入或結束時不平衡交易狀態。 請注意這項差異的下列含意:

  • 在 CLR 框架內啟動的交易必須認可或回復,否則 SQL Server 會在結束畫面時產生錯誤。

  • 外部交易無法在 CLR 程式代碼內認可或回復。

  • 嘗試認可未在相同程序中啟動的交易會導致運行時錯誤。

  • 嘗試回復相同程式中未啟動的交易會導致交易停止回應(防止任何其他副作用作業發生)。 交易會停止,直到 CLR 程式代碼超出範圍為止。 請注意,當您偵測到程式內的錯誤,並想要確保整個交易終止時,這非常有用。

另請參閱

CLR 整合和交易