Counter of Festivals

Ashok Blog for SQL Learners and Beginners and Experts

Tuesday, 16 June 2015

Different Types of LOCK in SQL Server

Different Types of LOCK in SQL Server

Ref:
http://blog.sqlauthority.com/2007/04/27/sql-server-2005-locking-hints-and-examples/

Locking Hints and Examples are as follows. The usage of them is same same but effect is different.

ROWLOCK
Use row-level locks when reading or modifying data.
PAGLOCK
Use page-level locks when reading or modifying data.
TABLOCK
Use a table lock when reading or modifying data.
DBLOCK
Use a database lock when reading or modifying data.
UPDLOCK
UPDLOCK reads data without blocking other readers, and update it later with the assurance that the data has not changed since last read.

XLOCK

Use exclusive locks instead of shared locks while reading a table, and use hold locks until the end of the statement or transaction.
HOLDLOCK
Use a hold lock to hold a lock until completion of the transaction, instead of releasing the lock as soon as the required table, row, or data page is no longer required.
NOLOCK
This does not lock any object. This is the default for SELECT operations. It does not apply to INSERT, UPDATE, and DELETE statements.
Examples:
SELECT OrderIDFROM Orders WITH (ROWLOCK)WHERE OrderID BETWEEN 100AND 2000
UPDATE Products WITH (NOLOCK)SET ProductCat 'Machine'WHERE ProductSubCat 'Mac'