Chapter 1. SQL Server Architecture

WHAT'S IN THIS CHAPTER

  • 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 lazywriter

  • Where the SQLOS fits in and why it's needed

A basic grasp of SQL Server's 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 and puts 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; and what the lazywriter does.

The chapter starts by defining a "transaction" and what the requirements are for a database system to reliably process them. You'll then look at the life cycle of a simple query that reads data, taking a walk through the components employed to return a result set, before looking at how the ...

Get Professional SQL Server® 2008 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.