UEU-co logo


[ Team LiB ]
Previous Section
Next Section


When I first started programming computers, I wrote many programs before taking the time to understand the instruction set of the system I was developing on. I got most of these programs working, but debugging complex issues was a painstaking process. As the sophistication of the programs evolved, I eventually hit a wall. When I stepped back and learned the instruction set and underlying architecture of the system, an amazing thing happened: I was able to break through the wall, and I became much more proficient. Frustration and complexity melted away, and, armed with a deep knowledge of the system, I was able to do things that were impossible before.

You’ve no doubt experienced something similar. Maybe it was while programming computers. Perhaps it was in learning to play a musical instrument—after a short time, you could play scales or simple melodies. However, to truly master an instrument to the point where you can improvise freely requires deep knowledge in both musical theory and proficiency in the instrument. This is the difference between surface knowledge (having the ability to use something) and deep knowledge (knowing how something really works so that you can master it and synthesize new knowledge based on your deep understanding).

Ken Henderson has invested tremendous effort in unlocking the secrets of Microsoft SQL Server, having recently written The Guru’s Guide to Transact-SQL (Addison-Wesley, 2000) and The Guru’s Guide to SQL Server Stored Procedures, XML, and HTML (Addison-Wesley, 2002). Ken is one of those people who seek deep knowledge. He isn’t satisfied in knowing how to operate something—he needs to know how something operates. In his research for The Guru’s Guide to SQL Server Architecture and Internals, Ken learned how SQL Server operates, from the ground up—and that is how he presents it.

Part I, Foundations, describes the fundamental substrate on which SQL Server is built. By discussing various Windows services and facilities, this section helps familiarize readers with how SQL Server (or any other high-performance Windows application) communicates with Windows.

Part II, Subsystems, Components, and Technologies, delves into the architecture of SQL Server’s core relational engine. Ken discusses the User Mode Scheduler (UMS), a base component of SQL Server that allows it to efficiently scale to thousands of users and process tens of thousands of transactions per second. A highlight of this section is the chapter on the query processor. Ken offers an incredibly clear description of how a query is transformed from SQL text (supplied by an application or user) through parsing, normalization, optimization, and ultimate conversion into a series of physical operators that the execution engine runs to solve the query. Throughout this section Ken describes many of the optimizer’s inputs, plan choices, and execution strategies. He also offers a number of “under the cover” tips for how you can peer into this complex portion of the product to determine why the optimizer may have chosen a particular plan to solve your complex query.

Part III, Data Services, discusses the various ways you can interact with SQL Server’s core data engine. In this section Ken describes SQL Server’s XML facilities and how Data Transformation Services (DTS) can be used to transform and move data into and out of SQL Server. The recently released Notification Services, which can be used to create highly scaled event- and subscription-based data services, is also covered. Finally, Ken describes the various replication technologies supported by SQL Server in great detail.

One obligation in writing a foreword for a book is to provide guidance about who should read it. In this instance, the recommendation is clear: This book is for anyone interested in furthering their existing knowledge of SQL Server into deep knowledge. Some people are naturally inclined to explore any new subject in a deep way. If you are someone who is not satisfied in knowing that something works, but rather you need to know how and why it works, Ken’s book will quench your thirst. Perhaps you find that your knowledge of SQL Server, built over a period of time by using the product, no longer offers you explanations to complex issues and questions you face. Ken’s book will take you beyond Books Online and into the inner workings of the product. Maybe you simply want to know how SQL Server, a complex and high-performance application, was designed and constructed. Again, The Guru’s Guide to SQL Server Architecture and Internals will meet your needs.

I can pretty much guarantee that anyone who uses SQL Server on a regular basis (even those located in Redmond working on SQL Server) can learn something new by reading this book.

David Campbell
June 2003

David Campbell joined Microsoft in 1994 as a developer on the core storage engine of Microsoft SQL Server. He has been with the SQL Server team since then and is currently the Product Unit Manager of the Relational Server team.

    [ Team LiB ]
    Previous Section
    Next Section

    Leave a Reply

    Time limit is exhausted. Please reload the CAPTCHA.


    apply_now Pepperstone Group Limited