トランザクションの有効期間
適用対象:SQL Server
Transact-SQL ストアド プロシージャで開始されたトランザクションとマネージド コードで開始されたトランザクションには重要な違いがあります。共通言語ランタイム (CLR) コードでは、CLR 呼び出しの開始または終了時にトランザクションの状態を不均衡にすることはできません。 この違いにより、次の点に注意してください。
CLR フレーム内で開始されたトランザクションはコミットまたはロールバックする必要があります。そうしないと、フレームの終了時にエラー SQL Server生成されます。
CLR コード内部から外部のトランザクションをコミットまたはロールバックすることはできません。
同じプロシージャ内で開始されていないトランザクションをコミットしようとすると、実行時エラーが発生します。
同じ手順で開始されていないトランザクションをロールバックしようとすると、トランザクションは応答を停止します (他の副作用操作が発生しないようにします)。 トランザクションは、CLR コードがスコープ外になるまで再開されません。 この動作は、プロシージャ内部でエラーを検出したときに、トランザクション全体を終了することが望ましい場合に役立つことがあります。
参照
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示