MSSQLSERVER_8525
適用対象: SQL Server
詳細
属性 | 値 |
---|---|
製品名 | SQL Server |
イベント ID | 8525 |
イベント ソース | MSSQLSERVER |
コンポーネント | SQLEngine |
シンボル名 | |
メッセージ テキスト | 分散トランザクションが完了しました。 このセッションを新規トランザクションまたは NULL トランザクションのいずれかに参加させます。 |
説明
SQL Server で分散トランザクション コーディネーターを使用するためのプログラミング モデルでは、アプリケーションが分散トランザクションに明示的に参加し、分散トランザクションから障害を発生させる必要があります。
このエラーは、次の 4 つの条件が揃った場合に発生します。
アプリケーションが分散トランザクションに参加している。
トランザクションが、何かの理由でコミットまたはロールバックされた状態で終了した。
ユーザー アプリケーションが、分散トランザクションへの参加を明示的に解除されていないか、新しい分散トランザクションに明示的に参加していない。
既存の分散トランザクションへの参加の解除でも新しい分散トランザクションへの参加でもないトランザクション操作、たとえば、クエリの実行やローカル トランザクションの開始を、アプリケーションで試行している。
ローカル トランザクションを作成する操作をアプリケーションで実行している場合はエラー状態 1 が使用され、バインドされたセッションへの参加をアプリケーションで試みている場合はエラー状態 2 が使用されます。
ユーザーの操作
アプリケーションは、分散トランザクションに参加した後、その分散トランザクションへの参加を明示的に解除するか、別の分散トランザクションに参加する必要があります。 これにより、前のトランザクションへの参加が暗黙的に解除されます。 分散トランザクションへの参加やその解除を行うための正確な構文については、アプリケーションのプログラミング インターフェイス マニュアルを参照してください。