Expert SQL server transactions and locking : concurrency internals for SQL server practitioners - Korotkevitch, Dmitri (Apress, 2018)
Master SQL Server's Concurrency Model so you can implement high-throughput systems that deliver transactional consistency to your application customers. This book explains how to troubleshoot and address blocking problems and deadlocks, and write code and design database schemas to minimize concurrency issues in the systems you develop. SQL Server's Concurrency Model is one of the least understood parts of the SQL Server Database Engine. Almost every SQL Server system experiences hard-to-explain concurrency and blocking issues, and it can be extremely confusing to solve those issues without a base of knowledge in the internals of the Engine. While confusing from the outside, the SQL Server Concurrency Model is based on several well-defined principles that are covered in this book. Understanding the internals surrounding SQL Server's Concurrency Model helps you build high-throughput systems in multi-user environments. This book guides you through the Concurrency Model and elaborates how SQL Server supports transactional consistency in the databases. The book covers all versions of SQL Server, including Microsoft Azure SQL Database, and it includes coverage of new technologies such as In-Memory OLTP and Columnstore Indexes. What You'll Learn: Know how transaction isolation levels affect locking behavior and concurrency Troubleshoot and address blocking issues and deadlocks Provide required data consistency while minimizing concurrency issues Design efficient transaction strategies that lead to scalable code Reduce concurrency problems through good schema design Understand concurrency models for In-Memory OLTP and Columnstore Indexes Reduce blocking during index maintenance, batch data load, and similar tasks.