Transaction in SQL Server

If There are set of statements and we want either all statements should be executed or nor of them should be executed.We can keep those statements within Transaction. A Transaction insure that changes will be made or none of changes will be done.

Properties of Transactions:-

There are four properties of transactions.Which is known as Name of ACID.
1.) Atomicity:- In Atomicity each transaction should be a unique number,so that if transaction is failed or abort at any point ,we can easily Rollback.
2.) Consistency:- In Consistency.If our transaction is successfully committed then database changes should be done .
3. ) Isolation:- In Isolation,Each transactions should transparent and independent to each other.
4. ) Durability:- In Durability,result of each transaction should be persisted ,if in case system failure.

Types of Transaction:-

There are two types of transaction in Microsoft sql server.
  1. Implicit Transaction
  2. Explicit Transaction

      1. ) Implicit Transaction:-

Whenever we execute any statement  then sql server database engine automatically starts a new transaction after the current transaction is committed. In Implicit transaction ,if we want, we can not Rollback statement back.Implicit Transaction is by default Automatic  in SQL Server . You can set implicit_transactions on.But there are some difference between them.
  • When you  set implicit_transactions on ,Then you will not see Begin Transaction in the Log file.
  • In implicit mode ,Transaction automatically started after each commit.
When implicit transaction mode is set is ON/off then sql database starts a transaction if we execute (DDL command)  commands as shown below.
create,delete, drop, insert,alter,update etc.

set implicit_transactions on
insert into employee values(108,'sanjay','store',17000)

 2. ) Explicit Transaction:-

An explicit transaction is one in which we explicitly define the begin (start) and end of the transaction. 
There are some controls of transactions which are given below:-
1.) Begin Transaction:- It is used to set starting point of any transaction.
2.) Commit:- It is to save the changes in Database.
I have already created an employee table as shown below.

      when we insert a data and put commit statement at last of the statement then output will as shown below:

3.) Rollback :- It is used to Rollback the changes in Database.When error is encountered in between the transaction,with the help of Rollback ,we can easily Rollback the state of the transaction.

If we want to use commit and Rollback in one statement then output we will be as shown below:

4.) Save Point:- We can provide a 'save point'  to divide a transaction into sub logical transaction.It means, if within a transaction ,there is a set of statement which must be executed and another  set of statement will be executed or Rollback ,which dependent on some  condition.Then we can provide a Save Point to those statement which must be committed.


Post a Comment

Powered by Blogger.