Explicit Transactions in Sql Server



A transaction is a single unit of work. If a transaction is successful, all of the data modifications made during the transaction are committed and become a permanent part of the database else the changes will be rolled back. As we all know we use the following blocks to specify the start and end of the transaction.

Begin Tran –> Starting point
Commit Tran –> Ending point

An example for the same is given below.

Begin Tran
insert into Employee Values(1,’Roopesh’,’PL’,’IT’)
insert into Employee Values(2,’Lokesh’,’PM’,’IT’)
Commit Tran

In the above statement the TWO insert queries will be considered as ONE unit of work i.e transaction. Now let’s see what is Explicit Transactions.

Marking the boundaries of a transaction explicitly is called as Explicit transactions. You can skip the Begin block by setting the below given property to ON and these are called as Implicit transactions.


So, to write the Explicit transactions we need to set Implicit_Transactions property to OFF using the below given query.


When this option is off, you do have to specify the BEGIN TRAN statement to mark the beginning of a transaction and mark the transaction’s end with a COMMIT TRAN or a ROLLBACK TRAN statement. This is called as Explicit Transactions. An example for the same is given below.

Begin Tran
insert into Employee Values(3,’Roopesh’,’PL’,’IT’)
insert into Employee Values(4,’Lokesh’,’PM’,’IT’)
Commit Transaction

You can see in the above query the BEGIN TRAN is used to tell the starting point of transaction. PFB the image showing the same.

In short, Explicit transactions are the ones for which the starting point of the transaction need to be mentioned. To activate the same you have to set Implicit_Transactions property to OFF as shown below.


That’s it guys !! Happie coding !!

Roopesh Babu V