交易存留期間
適用於:SQL Server
在 Transact-SQL 預存程式中啟動的交易與在 Managed 程式代碼中啟動的交易之間有一個重要差異:Common Language Runtime (CLR) 程式代碼無法在 CLR 調用的進入或結束時不平衡交易狀態。 請注意這項差異的下列含意:
在 CLR 框架內啟動的交易必須認可或回復,否則 SQL Server 會在結束畫面時產生錯誤。
外部交易無法在 CLR 程式代碼內認可或回復。
嘗試認可未在相同程序中啟動的交易會導致運行時錯誤。
嘗試回復相同程式中未啟動的交易會導致交易停止回應(防止任何其他副作用作業發生)。 交易會停止,直到 CLR 程式代碼超出範圍為止。 請注意,當您偵測到程式內的錯誤,並想要確保整個交易終止時,這非常有用。