修正: SQL Server のインスタンス内の Java アプリケーションを終了すると、XA トランザクションをクリーンアップは

現象

SQL Server の Microsoft JDBC ドライバーを使用して Microsoft SQL Server に接続する Java アプリケーションがあります。Java アプリケーションを起動した後は、SQL Server のインスタンスで 1 つまたは複数の XA トランザクションを実行します。Java アプリケーションを終了すると、SQL Server のインスタンスを再起動するまで、これらのトランザクションは削除されません。さらに、多くの孤立したトランザクションがある場合は、できないことがあります SQL Server のインスタンスで新しいトランザクションを開始します。

解決策

この問題を解決するには、この更新プログラムを適用し、トレース フラグ TF3924 を有効にします。トレース フラグ TF3924 を有効にするには、「関連情報」を参照してください。

累積的な更新プログラムの情報

以下の更新プログラムでこの問題が修正します。


SQL Server 用の最新の累積的な更新をインストールする推奨事項。

状況

マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。

詳細

孤立したトランザクションを確認するには、SQL Server のインスタンスで次の Transact SQL ステートメントを実行します。
SELECT * FROM sys.syslockinfo L, sys.dm_tran_active_transactions T WHERE L.[req_transactionUOW] = T.[transaction_uow]

3924 のトレース フラグを有効にする方法

3924 起動時またはユーザー セッションでトレース フラグを有効にできます。このトレース フラグはグローバル レベルまたはセッション レベルのいずれかの効果を持ちます。3924 のトレース フラグを有効にするには、 DBCC TRACEONコマンドを使用してまたは– T 3924を起動時のパラメーターとして使用します。

DBCC TRACEON\TRACEOFFを使用する場合これを再生成しないストアド プロシージャの場合は、新しいキャッシュされたプランです。トレース フラグなしで作成したキャッシュ内のプランがあります。

グローバル レベルおよびセッション レベルのトレース フラグを有効にするまたはトレース フラグを無効にする方法についての詳細については、SQL Server Books Online の以下のトピックを参照してください。

関連情報

Microsoft がソフトウェア更新プログラムを説明するために使用される用語について説明します。
プロパティ

文書番号:3145492 - 最終更新日: 2017/02/01 - リビジョン: 1

Microsoft SQL Server 2012 Service Pack 3, Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Enterprise Core, Microsoft SQL Server 2016 Standard

フィードバック