In this column, we'll explore the internals of SQL Server memory management from a developer's perspective. That is, we'll discuss the way the server manages memory in terms of the APIs and operating system facilities it makes use of and how they work. Exploring a product in this fashion helps us get inside the heads of the developers who built it and helps us understand how they intended it to be used. Understanding how a product works internally and its intended use is key to mastering it.
We'll begin our investigation by first covering some basic Windows® memory management fundamentals. Like all 32-bit Windows applications, SQL Server makes use of Windows memory management facilities to allocate, free, and generally manage memory resources. It calls Win32® memory management API functions to interact with the memory resources provided by the operating system in the same way that any Windows application does.