As all Kalen Delaney's other SQL Server Internals books, this one will become indispensable. Here all the information regarding SQL concurrency is in one place. Instead of reading her Hands-On SQL 2000 Troubleshooting: Locking and Blocking and Chapter 10 Transaction and Concurrency of SQL Server 2008 Internals - here is everything you wanted to know about concurrency in 184 pages.
The only sentence I would perhaps disagree with is on page 180: "SQL Server was designed and built, initially, to use pessimistic concurrency. Therefore we should consider using that model unless we can verify that optimistic concurrency will work better for our application." I think this may not encourage people enough to try RCSI . We switched to Read Committed Snapshot Isolation in 2007 for all our databases and it has worked wonderfully. We even set the is_read_committed_snapshot_on bit in the model database so that every new database gets created and runs in the RCSI isolation model.
Sometimes even one sentence in the book is worth reading the whole book cover to cover. In my case it was "Warning: The NOLOCK hint and RCSI . If application code invokes READ UNCOMMITTED isolation by using the NOLOCK hint ( or the equivalent READUNCOMMITTED hint), changing the database to RCSI will have no effect. The NOLOCK hint will override the database setting, and SQL will continue to read the uncommitted (dirty) data." I turns out we still had some 10 places where NOLOCK was still being used - leftovers from the days before RCSI was implemented.