Chapter 1

SQL Server Architecture


  • Understanding database transactions and the ACID properties
  • Architectural components used to fulfill a read request
  • Architectural components used to fulfill an update request
  • Database recovery and the transaction log
  • Dirty pages, checkpoints, and the lazy writer
  • Where the SQLOS fits in and why it’s needed


The code downloads for this chapter are found at on the Download Code tab. The code is in the Chapter 1 download and individually named according to the names throughout the chapter.


A basic grasp of SQL Server’s database engine architecture is fundamental to intelligently approach troubleshooting a problem, but selecting the important bits to learn about can be challenging, as SQL Server is such a complex piece of software. This chapter distills the core architecture of SQL Server, putting the most important components into the context of executing a simple query to help you understand the fundamentals of the core engine.

You will learn how SQL Server deals with your network connection, unravels what you’re asking it to do, decides how it will execute your request, and finally how data is retrieved and modified on your behalf.

You will also discover when the transaction log is used and how it’s affected by the configured recovery model; what happens when a checkpoint occurs and how you can influence the frequency; ...

Get Professional SQL Server 2012 Internals and Troubleshooting now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.