SA0265 : COMMIT statement without corresponding BEGIN TRANSACTION statement |
![]() |
The topic describes the SA0265 analysis rule.

COMMIT statement without corresponding BEGIN TRANSACTION statement

The rule checks T-SQL code and reports COMMIT statements, which have no corresponding BEGIN TRANSACTION statements.
Issuing a COMMIT TRANSACTION when @@TRANCOUNT is zero results in an error.

Review transaction statements and code paths to make sure that the COMMIT statement has a corresponding BEGIN TRANSACTION statement.

The rule has a Batch scope and is applied only on the SQL script.

Rule has no parameters.

The rule does not need Analysis Context or SQL Connection.


Design Rules, Bugs


SQL
1BEGIN TRANSACTION -- @@TRANCOUNT is 1 2BEGIN TRANSACTION -- @@TRANCOUNT is 2 3 4COMMIT TRANSACTION -- @@TRANCOUNT is 1 5COMMIT TRANSACTION -- @@TRANCOUNT is 0 6COMMIT TRANSACTION -- error 7 8BEGIN TRANSACTION -- @@TRANCOUNT is 1 9BEGIN TRANSACTION -- @@TRANCOUNT is 2 10 11COMMIT TRANSACTION -- @@TRANCOUNT is 1 12COMMIT TRANSACTION -- @@TRANCOUNT is 0 13COMMIT TRANSACTION -- error 14COMMIT TRANSACTION -- error |

Message | Line | Column | |
---|---|---|---|
1 | SA0265 : COMMIT statement without corresponding BEGIN TRANSACTION statement. | 6 | 0 |
2 | SA0265 : COMMIT statement without corresponding BEGIN TRANSACTION statement. | 13 | 0 |
3 | SA0265 : COMMIT statement without corresponding BEGIN TRANSACTION statement. | 14 | 0 |
