What are the various Isolation levels?

Answer Posted / phani kiran sai

Isolation levels in SQL SERVER
1. READ UNCOMMITTED isolation level.
This kind of isolation level is used when we have the most
need for HIGHER CONCURRENCY.
Limitations:
Dirty pages
Lost updates
Phantom reads
Non-repeatable reads.

2. READ COMMITTED isolation level.
This is default level set in SQL SERVER. It prevents
transactions to read data if some other transaction is doing
some update operation on the data as a result eliminating
dirty reads.
It prevents reading of uncommitted data.
Limitations:
Low level of concurrency
Lost updates
Advantages:
Eliminates Dirty reads.

3. REPEATABLE READ isolation level.
It does not release the shared lock once the transaction
starts for reading data.
Transaction cannot read data that is modified by other
transaction and not committed.

Limitations:
Lower concurrency
Phantom reads

Advantages:
Eliminates Dirty Reads
Eliminates Lost updates
Eliminates Non-repeatable reads.

4. SERIALIZABLE isolation level.
This is the highest level of isolation, as a result a very
low concurrency rate.
Can not read data if other transaction are performing update
operations on data that is not committed yet.
No other transaction can perform update operation until
current transaction completes its read operation.
It performs RANGE LOCK based on filters used to get the data
i.e it locks current records and also the new records that
fall under current filter condition.
Limitation:
Low concurrency

Advantages:
Eliminates Dirty reads
Eliminates Lost updates
Eliminates Non-repeatable reads
Eliminates Phantom reads


5. SNAPSHOT isolation level.
It implements ROW VERSIONING to isolate data for each
transaction i.e it will keep separate version fo reach
modified row in tempdb.
Limitation:
Low performance due to versioning in tempdb.

Advantage:
Eliminates Dirty reads
Eliminates Lost updates
Eliminates Non-repeatable reads
Allows multiple updates by versioning.

6. CHAOS isolation level.
Same as READ UNCOMMITTED
Permits viewing uncommitted changes of other transaction
Rollback is not supported.

7. UNSPECIFIED isolation level.
When an isolation level of any transaction cannot be
determined, it is knows as unspecified isolation level.
ODBCTransaction, when an user forgets to set an isolation
level for such transactions, it will execute according to
isolation level associated by ODBC driver

Is This Answer Correct ?    2 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Can we add a cpu to sql server?

701


What are Spatial data types in SQL Server 2008

722


How to create a testing table with test data in ms sql server?

738


Explain log shipping?

768


Can group by be used without aggregate functions?

674






What is the difference between a stored procedure and a user defined function?

744


What is user-defined scalar function?

721


How to add a new column to an existing table with "alter table ... Add" in ms sql server?

755


explain different types of backups avaialabe in sql server? : Sql server database administration

752


Explain the various types of concurrency problem?

921


What is a view and what are its advantages?

855


What is the meaning of resultset type_scroll_insensitive?

728


What is a transactions?

778


Can you please explain the difference between function and stored procedure?

748


What will happen if a column containing char type data is changed to the nchar data type?

799