Pro SQL Server Internals explains how different SQL Server components work "under the hood" and how they communicate with each other. This is the practical book with a large number of examples that will show you how various design and implementation decisions affect the behavior and performance of your systems. Pro SQL Server Internals covers a multiple SQL Server versions starting with SQL Server 2005 all the way up to the recently released SQL Server 2014. You''ll learn about new SQL Server 2014 features including the new Cardinality Estimator, In-Memory OLTP Engine (codename Hekaton), and Clustered Columnstore Indexes. With Pro SQL Server Internals, you have a solid roadmap for understanding the depth and power of the SQL Server database backend, regardless of the version and edition of SQL Server you use. Pro SQL Server Internals does the following: Explains how to design efficient database schema, indexing, and transaction strategies. Shows how various database objects and technologies are implemented internally and when they should or should not be used. Demonstrates how SQL Server executes queries and works with data and transaction logs.
What you''ll learn Design and develop efficient database solutions utilizing SQL Server as the database backend. Troubleshoot and address design, concurrency, and performance issues in systems. Choose the right database objects and technologies for the job. Improve system availability and manageability and reduce implementation costs with data partitioning. Design efficient Disaster Recovery and High-Availability strategies for systems. Improve the performance of OLTP and Data Warehouse systems by utilizing new SQL Server 2014 features, such as the In-Memory OLTP Engine and Clustered Columnstore Indexes. Who this book is for Pro SQL Server Internals is a book for developers and database administrators who want to design, develop, and maintain systems in a way that gets the most from SQL Server. This book is an excellent choice for people who prefer to understand and fix the root cause of a problem, rather than applying a ''band aid'' to it.
Table of Contents Part 1 - Tables and Indexes * Chapter 1: Data storage internals * Chapter 2: Tables and Indexes - Internal Structure and Access Methods * Chapter 3: Statistics * Chapter 4: Special Indexing and Storage Features * Chapter 5: Index fragmentation * Chapter 6: Designing and tuning the indexes Part 2: Other things that matter * Chapter 7: Constraints * Chapter 8: Triggers * Chapter 9: Views * Chapter 10: Functions * Chapter 11: XML * Chapter 12: Temporary Tables * Chapter 13: CLR * Chapter 14: CLR types * Chapter 15: Data partitioning * Chapter 16: System design considerations Part 3: Locking, Blocking and Concurrency * Chapter 17: Lock types * Chapter 18: Troubleshooting Blocking issues * Chapter 19: Deadlocks * Chapter 20: Lock Escalations * Chapter 21: Optimistic isolation levels * Chapter 22: Application locks * Chapter 23: Schema locks * Chapter 24: Designing transaction strategies Part 4: Query Life Cycle * Chapter 25: Query Optimization and Execution * Chapter 26: Plan Caching Part 5: Practical Troubleshooting * Chapter 27: System Troubleshooting * Chapter 28: Extended events Part 6: Inside the transaction log * Chapter 29: Transaction Log Internals * Chapter 30: Designing a Backup Strategy * Chapter 31: Designing a High Availability Strategy Part 7: In-Memory OLTP Engine * Chapter 32: Hekaton (In Memory OLTP Engine) Part 8: Columnstore Indexes * Chapter 33: In-Memory OLTP Programmability * Chapter 34: Introduction to Columnstore indexes * Chapter 35: Clustered Columnstore indexes.