A blog by Jose Barreto, a member of the File Server team at Microsoft.
All messages posted to this blog are provided "AS IS" with no warranties, and confer no rights.
Information on unreleased products are subject to change without notice.
Dates related to unreleased products are estimates and are subject to change without notice.
The content of this site are personal opinions and might not represent the Microsoft Corporation view.
The information contained in this blog represents my view on the issues discussed as of the date of publication.
You should not consider older, out-of-date posts to reflect my current thoughts and opinions.
© Copyright 2004-2012 by Jose Barreto. All rights reserved.
Follow @josebarreto on Twitter for updates on new blog posts.
Here are some notes on "SQL Server 2008 Locking" I took while attending an advanced class on SQL Server taught by Kimberly Tripp (http://sqlskills.com/AboutKimberlyLTripp.asp).
Please note that, although these notes were taken during the class, I might have added some of my own (mis)interpretation :-). Always check your facts on Books Online (I try to provide links when applicable). As with anything else you get from a blog, never use any of this in production before you thoroughly validate it a test environment. Please keep in mind that some of those will be hard to follow without the right pre-requisite knowledge and the right context. Reading the post from top to bottom will help.
You have more locks than you think
Row locks
Update locks
Page and Table Locks
Not necessarily accurate
WAIT
Workarounds
Granularity/Escalation
Hints to control locks
Isolation Levels
Other ways to separate readers/writers
Locks and issues
READ_COMMITED_SNAPSHOT
Isolation with table hints
Blocking
Tips to minimize blocking
Detecting Blocking
Deadlocks
Deadlock resolution
Deadlock avoidance
Snapshot Isolation
Extra space needed for versioning
Statement-level read consistency
Transaction-level read consistency