MSSQLSERVER_8525
Applies to: SQL Server
Details
Attribute | Value |
---|---|
Product Name | SQL Server |
Event ID | 8525 |
Event Source | MSSQLSERVER |
Component | SQLEngine |
Symbolic Name | |
Message Text | Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction. |
Explanation
The programming model for using the Distributed Transaction Coordinator with SQL Server requires applications to explicitly enlist to and defect from a distributed transaction.
This error occurs when the following four conditions are met:
The application has enlisted into a distributed transaction.
The transaction has ended, either committed or rolled back, for any reason.
The user application has not explicitly defected from a distributed transaction or explicitly enlisted into a new distributed transaction.
The application tries to do any transactional operation other than defecting from existing distributed transaction or enlisting to a new distributed transaction, such as issuing a query or starting a local transaction.
Error state 1 is used when the application performs an operation that creates local transactions, and state 2 is used when application tries to enlist to a bound session.
User Action
After an application has enlisted into a distributed transaction, the application must explicitly defect from the distributed transaction or enlist to another distributed transaction. This will implicitly defect from a previous enlisted transaction. For the exact syntax to defect from or enlist to a distributed transaction, see the programming interface manual for the application.