Locking is a crucial function of any multi-user database system, including SQL Server. Locks are applied in both the pessimistic and optimistic concurrency models, although the way other processes deal with locked data is different in each. The reason I refer to the pessimistic variation of Read Committed isolation as Read Committed (locking) is because locking allows concurrent transactions to maintain consistency. In the pessimistic model, writers will always block readers and writers, and readers can block writers. In the optimistic model, the only blocking that occurs is that writers will block other writers. But to really understand what these simplified behavior summaries mean, we need to look at the details of SQL Server locking. ...

Get Inside Microsoft® SQL Server™ 2005, Fourth Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.