Just to make it simpler to navigate:
- Part 1: Major Lock Types
- Part 2: Locks and Transaction Isolation Levels
- Part 3: Blocking in the system
- Part 4: How to detect blocking
- Part 5: Deadlocks
- Part 6: How to troubleshoot deadlocks
- Part 7: (Interlude) – Read Committed – duplicate reading
- Part 8: Optimistic isolation levels
- Part 9: Optimistic isolation levels – TANSTAAFL!
- Part 10: What isolation level should I choose?
Additional:
- Part 11: Deadlocks due multiple updates of the same row
- Part 12: Lock Escalation
- Part 13: Schema locks
- Part 14: Deadlocks during DDL operations (alteration, partition switch, etc)
- Part 15: When Transaction Starts
- Part 16: Monitoring Blocked Processes with Event Notifications
- Part 17: Implementing Critical Sections / Mutexes in T-SQL
- Part 18: Key lookup deadlock
- Part 19: Concurrency model in in-memory OLTP (Hekaton)
Great article!