Web Analytics Made Easy - Statcounter
Home » SQL Server » SQL Server Architecture Cheat Sheet: Components, Data Flow & Examples

SQL Server Architecture Cheat Sheet: Components, Data Flow & Examples

Sql Server Architecture Cheat Sheet Components Data Flow Examples
SQL Server Architecture Cheat Sheet: Components, Data Flow & Examples

Introduction

Understanding SQL Server architecture makes it much easier to troubleshoot performance problems, blocking, memory pressure, CPU issues, I/O problems and query performance.

You don’t need to memorize every internal component but to understand:

What happens when a query enters SQL Server, how SQL Server processes it, how data is accessed, and how changes are written safely to disk.

This cheat sheet explains SQL Server architecture from beginner to advanced level using simple examples.

SQL Server Architecture at a High Level

A simplified view looks like this:

Application
    ↓
Connection / Protocol Layer
    ↓
SQL Server Database Engine
    ↓
Query Processor
    ↓
Storage Engine
    ↓
Buffer Pool / Memory
    ↓
Data & Log Files

Supporting all of this are components such as:

SQLOS
Security
Transaction Manager
Memory Manager
Lock Manager
Task Scheduler
I/O Management
Extended Events

Think of SQL Server as a team.

The Query Processor decides how to execute a request.

The Storage Engine gets the required data and performs physical data operations.

Memory management tries to keep frequently needed pages in memory.

The Transaction Manager makes sure changes follow transaction rules.

SQLOS provides several operating-system-like services to SQL Server.

1. SQL Server Instance

An SQL Server instance is the running Database Engine environment that manages databases and server-level resources.

A single SQL Server instance can contain multiple databases.

Example:

SQL Server Instance
│
├── master
├── model
├── msdb
├── tempdb
├── SalesDB
├── HRDB
└── FinanceDB

When you connect to:

SERVER01\SQLPROD

you are connecting to a SQL Server instance.

Important distinction

Instance ≠ Database

An instance can contain many databases.

Instance
   ↓
Multiple Databases
   ↓
Schemas
   ↓
Tables / Views / Procedures / Functions

2. System Databases

Every traditional SQL Server Database Engine instance has important system databases.

DatabaseMain Purpose
masterInstance-level metadata and configuration
modelTemplate used when creating databases
msdbSQL Server Agent jobs, backup history and other automation metadata
tempdbTemporary objects, worktables, version store and other temporary operations

Example

When you create:

CREATE DATABASE SalesDB;

SQL Server uses the model database as part of the database creation process.

DBA Tip

Never treat tempdb as “just a temporary database.”

Poor tempdb configuration or heavy tempdb workload can become a significant production performance problem.

3. Database

A database is a logical collection of data and database objects.

For example:

SalesDB
│
├── dbo.Customer
├── dbo.Product
├── dbo.OrderHeader
├── dbo.OrderDetail
├── dbo.usp_GetCustomerOrders
└── dbo.vw_SalesSummary

A database contains more than tables.

It can contain:

  • Tables
  • Indexes
  • Views
  • Stored procedures
  • Functions
  • Triggers
  • Constraints
  • Schemas
  • Statistics
  • Security principals
  • Database metadata

4. Schemas

A schema is a logical container for database objects.

For example:

SalesDB
│
├── Sales
│   ├── Customer
│   └── Order
│
├── HR
│   ├── Employee
│   └── Department
│
└── Reporting
    └── SalesSummary

You can then grant permissions at the schema level.

For example:

GRANT SELECT ON SCHEMA::Sales TO SalesReader;

This is often easier to manage than granting SELECT separately on hundreds of tables.

Microsoft recommends using granular permissions and following the principle of granting the least permission necessary. (Microsoft Learn)

5. Data Files

SQL Server stores database data in data files.

Common extensions are:

.mdf
.ndf

The .mdf file is normally the primary data file.

.ndf files are secondary data files.

Example:

SalesDB
│
├── SalesDB.mdf
├── SalesDB_02.ndf
└── SalesDB_log.ldf

Data files contain database pages.

6. Pages

The fundamental unit of SQL Server data storage is the 8-KB page.

For example:

SQL Server Data File
        ↓
      Pages
        ↓
      8 KB
        ↓
Rows / Index information

This is an important concept for understanding:

  • Logical reads
  • Physical reads
  • Indexes
  • Table scans
  • Buffer pool
  • I/O performance

Example

If SQL Server needs 1,000 pages from disk:

1,000 × 8 KB
≈ 7.8 MB

The number of pages accessed can therefore have a significant impact on I/O and memory usage.

7. Extents

SQL Server groups eight 8-KB pages into an extent.

1 Extent
   ↓
8 Pages
   ↓
8 × 8 KB
   ↓
64 KB

Understanding pages and extents becomes particularly useful when studying allocation and storage internals.

8. Buffer Pool

One of the most important components for SQL Server performance is memory.

SQL Server uses the buffer pool to cache data and index pages in memory.

Consider:

SELECT *
FROM dbo.Customer
WHERE CustomerID = 100;

If the required data page is already in memory:

Query
 ↓
Buffer Pool
 ↓
Page found
 ↓
Return data

If the page isn’t in memory:

Query
 ↓
Buffer Pool
 ↓
Page not found
 ↓
Storage I/O
 ↓
Data Page
 ↓
Buffer Pool
 ↓
Return data

This is why memory and I/O are closely related.

9. Logical Read vs Physical Read

This is extremely important for performance troubleshooting.

Logical Read

SQL Server reads a page from memory.

Physical Read

SQL Server has to read the page from storage into memory.

For example:

Logical Read
Storage → Buffer Pool → Query
             ↑
        Page already there

versus:

Physical Read
Storage → Buffer Pool → Query

The key point:

A logical read doesn’t mean SQL Server accessed the physical disk.

This is why SET STATISTICS IO ON is so useful when analyzing query performance.

10. Transaction Log

Every SQL Server database has a transaction log.

The log records transactions and database modifications and is essential for recovering the database to a consistent state after failures. (Microsoft Learn)

The log file normally has:

.ldf

Example:

SalesDB
├── SalesDB.mdf
└── SalesDB_log.ldf

Consider:

UPDATE dbo.Customer
SET CreditLimit = 50000
WHERE CustomerID = 100;

SQL Server records the necessary transaction information in the transaction log.

The transaction log uses Log Sequence Numbers (LSNs) to identify log records. (Microsoft Learn)

Why is the transaction log important?

It supports:

  • Transaction rollback
  • Crash recovery
  • Transaction log backups
  • Point-in-time recovery
  • High availability and recovery mechanisms

11. Write-Ahead Logging

One of the most important SQL Server concepts is Write-Ahead Logging (WAL).

In simple language:

SQL Server must record the necessary log information before the corresponding changed data page is considered safely persisted.

Simplified:

Transaction
    ↓
Generate Log Records
    ↓
Write Log
    ↓
Data Page Changes

This is one of the reasons SQL Server can recover transactions after a crash.

12. Query Processor

When you submit:

SELECT *
FROM dbo.Customer
WHERE CustomerID = 100;

the Query Processor determines how SQL Server should execute it.

The Query Processor includes important areas such as:

  • Parser
  • Algebrizer
  • Optimizer
  • Execution engine

13. Parser

The parser checks whether your SQL statement follows SQL syntax.

For example:

SELECT CustomerID
FROM dbo.Customer;

is syntactically valid.

But:

SELEC CustomerID
FROM dbo.Customer;

contains a syntax error.

The parser identifies this before SQL Server can execute the query.

14. Algebrizer

The algebrizer performs tasks such as:

  • Object resolution
  • Column resolution
  • Data type checking
  • Binding names to database objects

For example:

SELECT CustomerName
FROM dbo.Customer;

SQL Server needs to determine:

CustomerName
     ↓
dbo.Customer
     ↓
SalesDB

If the column doesn’t exist, SQL Server reports an error before execution.

15. Query Optimizer

This is one of the most important components for a DBA.

The Query Optimizer evaluates possible execution strategies and chooses an execution plan based on available information.

For example:

SELECT *
FROM dbo.Customer
WHERE CustomerID = 100;

Possible access methods could include:

Table Scan
Index Scan
Index Seek

If there is a suitable index:

CREATE INDEX IX_Customer_CustomerID
ON dbo.Customer(CustomerID);

the optimizer may choose an Index Seek.

Important

Don’t use this rule:

“Index Seek = good, Index Scan = bad.”

Execution plans must be interpreted in context.

An Index Scan can be perfectly appropriate when SQL Server needs a large portion of an index.

16. Execution Plan

The execution plan describes how SQL Server intends to execute the query.

Example:

SELECT
  ↓
Index Seek
  ↓
Nested Loops
  ↓
Output

or:

SELECT
  ↓
Table Scan
  ↓
Sort
  ↓
Output

When troubleshooting a slow query, the execution plan is one of your most important diagnostic tools.

17. Statistics

Statistics provide information about data distribution that helps the optimizer estimate how many rows a query may return.

For example:

Estimated Rows = 10
Actual Rows    = 100,000

That is a major estimation difference.

It can influence the optimizer’s choice of:

  • Join type
  • Access method
  • Memory grant
  • Parallelism

DBA Tip

When investigating a bad execution plan, don’t look only for missing indexes.

Check:

Statistics
Cardinality estimates
Parameter sensitivity
Data distribution
Predicates
Indexes
Query shape

18. Storage Engine

The Storage Engine is responsible for the physical work of accessing and modifying data.

It handles areas such as:

  • Data access
  • Index access
  • Buffer management
  • Locking
  • Transaction management
  • I/O

A simplified view:

Query Processor
       ↓
Storage Engine
       ↓
Buffer Pool
       ↓
Data Files

19. Access Methods

SQL Server can access data through different methods.

Common examples include:

Table Scan
Index Scan
Index Seek
Key Lookup
RID Lookup

Example

Suppose:

SELECT CustomerName
FROM dbo.Customer
WHERE CustomerID = 500;

With an appropriate index, SQL Server may use:

Index Seek

instead of scanning thousands or millions of rows.

20. Index

An index is a data structure that can help SQL Server find rows more efficiently.

Think about a book.

Without an index:

Search every page

With an index:

Find topic in index
        ↓
Go directly to relevant page

SQL Server indexes work differently internally, but this analogy is useful for beginners.

Common SQL Server index types include:

  • Clustered
  • Nonclustered
  • Columnstore
  • XML
  • Spatial
  • Full-text-related structures

21. Clustered Index

A clustered index determines the logical ordering of the data rows within the index structure.

A table can have at most one clustered index.

Example:

CREATE CLUSTERED INDEX IX_Order_OrderID
ON dbo.OrderHeader(OrderID);

The clustered index is particularly important because the leaf level contains the table’s data for a rowstore clustered table.

22. Nonclustered Index

A nonclustered index is a separate index structure that contains key values and row locators to help SQL Server find the corresponding data.

Example:

CREATE INDEX IX_Customer_Email
ON dbo.Customer(Email);

A query such as:

SELECT CustomerID
FROM dbo.Customer
WHERE Email = 'abc@example.com';

may benefit from this index.

23. Key Lookup

Suppose your nonclustered index finds the required rows but doesn’t contain all the columns needed by the query.

SQL Server may perform a Key Lookup against the clustered index.

Example:

Nonclustered Index Seek
          ↓
      Key Lookup
          ↓
        Result

If this happens for a very large number of rows, it can become expensive.

This is where a covering index may sometimes help.

24. Joins

When SQL Server combines rows from multiple tables, it can use different join algorithms.

The most common are:

Nested Loops
Hash Match
Merge Join

Nested Loops

Often useful when one input is relatively small and the other side can be efficiently accessed.

Small Input
    ↓
Nested Loops
    ↓
Index Seek

Hash Match

Often useful for larger unsorted inputs.

Input A
   +
Input B
   ↓
Hash Match

Merge Join

Works best when both inputs are appropriately ordered.

Sorted Input A
      +
Sorted Input B
      ↓
Merge Join

Again:

There is no universally “best” join operator.

The correct operator depends on the query and data.

25. Lock Manager

SQL Server uses locks to protect data while transactions are accessing or modifying it.

Common lock modes include:

Shared (S)
Exclusive (X)
Update (U)
Intent locks

Example:

UPDATE dbo.Customer
SET CreditLimit = 50000
WHERE CustomerID = 100;

SQL Server needs appropriate locks while modifying the row.

26. Blocking

Blocking occurs when one session holds a lock that another session needs.

Example:

Session 1
UPDATE Customer
   ↓
Holds lock

Session 2
SELECT Customer
   ↓
Waiting

This can lead to:

Blocking
   ↓
Longer query duration
   ↓
More waiting sessions
   ↓
Application slowdown

DBA Tools

Useful objects include:

sys.dm_exec_requests
sys.dm_os_waiting_tasks
sys.dm_tran_locks

27. Deadlock

A deadlock is different from ordinary blocking.

Example:

Session 1 locks Table A
       ↓
needs Table B

Session 2 locks Table B
       ↓
needs Table A

Neither can continue.

SQL Server detects the deadlock and chooses one transaction as the victim.

This is why deadlock troubleshooting requires looking at the transaction pattern, not simply increasing server resources.

28. SQLOS

SQLOS is a SQL Server internal layer that provides operating-system-like services to the Database Engine.

It supports areas such as:

  • Scheduling
  • Memory management
  • Synchronization
  • Exception handling
  • Extended Events
  • Resource management

You can think of it as a foundation used by SQL Server’s internal components.

29. SQL Server Scheduler

SQL Server uses schedulers to manage worker threads.

A simplified model:

CPU
 ↓
Scheduler
 ↓
Worker
 ↓
Task

This becomes important when investigating:

  • High CPU
  • Runnable tasks
  • CPU pressure
  • Parallelism
  • Scheduler pressure

30. Worker Threads

A worker performs work for SQL Server.

For example:

Client Query
     ↓
Task
     ↓
Worker
     ↓
Scheduler
     ↓
CPU

If many tasks are waiting for CPU resources, you may see increased runnable workload.

31. Wait Statistics

Not every slow query is caused by CPU.

SQL Server often spends time waiting.

Examples include waits related to:

CPU
I/O
Locks
Memory
Parallelism
Network
Log

This is why wait statistics are extremely useful for performance troubleshooting.

A good DBA asks:

What is SQL Server waiting for?

rather than:

Why is SQL Server slow?

32. Memory Manager

SQL Server needs memory for many activities, including:

  • Data pages
  • Execution plans
  • Query execution
  • Sort operations
  • Hash operations
  • Internal structures

If memory is insufficient, SQL Server may need to perform more I/O or experience memory-related waits.

Important

Don’t simply allocate:

“As much RAM as possible to SQL Server.”

The operating system and other required components also need memory.

33. Plan Cache

SQL Server can cache compiled execution plans.

For example:

SELECT *
FROM dbo.Customer
WHERE CustomerID = 100;

After compilation, SQL Server may reuse the execution plan for subsequent executions when appropriate.

Plan reuse can reduce compilation overhead.

However, plan reuse isn’t automatically good in every situation.

Parameter sensitivity or changing data distributions can result in a plan that is not optimal for every execution.

34. Parameter Sniffing / Parameter Sensitivity

Consider:

CREATE PROCEDURE dbo.GetOrders
    @CustomerID INT
AS
BEGIN
    SELECT *
    FROM dbo.OrderHeader
    WHERE CustomerID = @CustomerID;
END;

Suppose one customer has:

10 rows

and another has:

5,000,000 rows

A plan that works well for one value may not work well for another.

This is why parameter-sensitive workloads need careful investigation.

Don’t automatically assume:

“Parameter sniffing is bad.”

The real question is:

Is the cached/selected plan appropriate for the workload?

35. TempDB

tempdb is a shared system database used for many temporary operations.

Examples include:

Temporary tables
Table variables
Worktables
Workfiles
Sort operations
Hash operations
Row versioning

Example:

SELECT *
INTO #CustomerData
FROM dbo.Customer;

The temporary table is stored in tempdb.

Heavy workloads can therefore place significant pressure on tempdb.

36. Query Execution: End-to-End Example

Let’s follow a simple query:

SELECT CustomerName
FROM dbo.Customer
WHERE CustomerID = 100;

Step 1 — Client sends query

Application
    ↓
SQL Server connection

Step 2 — Parser checks syntax

Is the SQL valid?

Step 3 — Algebrizer resolves objects

CustomerName
     ↓
dbo.Customer

Step 4 — Security checks occur

Does the caller have permission to access the object?

Step 5 — Optimizer generates/chooses a plan

For example:

Index Seek

Step 6 — Storage Engine accesses data

Index
   ↓
Buffer Pool

Step 7 — If page isn’t in memory

Buffer Pool
    ↓
Storage I/O
    ↓
Data File

Step 8 — Result returned

Storage Engine
     ↓
Query Processor
     ↓
Client

That is the basic journey of a query through SQL Server.

37. What Happens During an UPDATE?

Consider:

UPDATE dbo.Customer
SET CreditLimit = 50000
WHERE CustomerID = 100;

A simplified flow is:

Client
  ↓
Query Processor
  ↓
Execution Plan
  ↓
Storage Engine
  ↓
Lock required
  ↓
Data page modified
  ↓
Transaction log generated
  ↓
Log hardened according to transaction requirements
  ↓
Transaction completes

This is why SQL Server architecture isn’t just about reading data.

It also has to maintain:

Consistency
Durability
Concurrency
Recoverability

38. ACID and SQL Server

SQL Server transactions are designed around the ACID properties.

Atomicity

Either the transaction completes or it can be rolled back.

Consistency

The database moves from one valid state to another valid state, subject to defined constraints and transaction rules.

Isolation

Concurrent transactions are controlled according to the selected isolation behavior.

Durability

Once a transaction is committed, SQL Server’s recovery mechanisms are designed to preserve committed changes.

The transaction log is a critical part of this process. (Microsoft Learn)

39. SQL Server Security Architecture

A simple way to understand SQL Server security is:

Login
  ↓
Database User
  ↓
Database Role
  ↓
Schema
  ↓
Object

For example:

Windows Group
      ↓
SQL Server Login
      ↓
SalesDB User
      ↓
SalesReader Role
      ↓
Sales Schema
      ↓
Customer / Order tables

SQL Server manages permissions at server and database levels using principals, roles and permissions. (Microsoft Learn)

40. Login vs User

This is one of the most common beginner questions.

Login

A login is primarily an instance/server-level security identity.

User

A database user is the identity inside a particular database.

Example:

SQL Login: Vivek
        ↓
SalesDB User: Vivek
        ↓
SalesReader Role

A login can therefore exist at the server level while having different database-level access.

41. GRANT, DENY and REVOKE

SQL Server uses:

GRANT
DENY
REVOKE

Example:

GRANT SELECT
ON SCHEMA::Sales
TO SalesReader;

DENY explicitly denies a permission, while REVOKE removes a grant or deny in the relevant permission context.

Microsoft documents the permission hierarchy and recommends using granular permissions and least privilege where practical. (Microsoft Learn)

42. Permissions You May Need During Troubleshooting

This is an important area that is often missing from SQL Server cheat sheets.

The exact permission depends on what you are trying to investigate.

TaskTypical Permission / Access Consideration
Read application tablesSELECT
View object definitionsVIEW DEFINITION
Run many server-level DMVsMay require server-level visibility permissions
Investigate all sessions/requestsAppropriate server-level visibility permission
Kill another sessionRequires appropriate server-level permission
Change database objectsALTER or appropriate object/schema/database permission
Create/modify indexesAppropriate ALTER permission on the table/schema/database
Change server configurationAppropriate server-level permission
Run DBCC commandsDepends on the specific DBCC command
Backup databaseAppropriate database/backup privileges
Restore databaseRequires appropriate server/database permissions and operational access

Important: Don’t solve a permission problem by giving everyone sysadmin.

SQL Server supports granular permissions, and Microsoft recommends granting the least permission necessary. (Microsoft Learn)

43. Version Matters

This is another principle I want to make standard in TechMixing articles.

Always identify the SQL Server version before applying a feature, syntax or troubleshooting recommendation.

For example:

SQL Server 2016
SQL Server 2017
SQL Server 2019
SQL Server 2022
SQL Server 2025
Azure SQL Database
Azure SQL Managed Instance

These platforms are related, but they are not identical.

Some permissions and features vary between versions and platforms. Microsoft documents version-specific permission differences and notes that new permissions can be introduced in later releases. (Microsoft Learn)

SQL Server 2025 Example

SQL Server 2025 is version 17.x and introduces changes that can affect existing applications.

For example, Microsoft documents breaking changes involving linked servers and encryption behavior in SQL Server 2025. (Microsoft Learn)

So when writing or using a technical solution:

Always check the SQL Server version before assuming the same behavior applies everywhere.

44. SQL Server vs Azure SQL Database

Don’t automatically transfer an on-premises SQL Server architecture diagram directly to Azure SQL Database.

Azure SQL Database is a managed PaaS service.

For example, server-level permissions available in SQL Server aren’t available in the same way in Azure SQL Database. (Microsoft Learn)

A useful mental model is:

SQL Server
You manage more of the infrastructure
        ↓
OS
Storage
SQL Server
Instance
Databases

Whereas:

Azure SQL Database
Microsoft manages much of the infrastructure
        ↓
You primarily manage
Database
Schema
Objects
Queries
Security
Performance

This distinction is extremely important for DBAs moving from traditional SQL Server to Azure SQL.

45. Architecture and Troubleshooting

Understanding architecture helps you identify where a problem may exist.

ProblemArchitecture Area to Investigate
High CPUQuery execution, workers, schedulers, inefficient queries
High disk I/OStorage Engine, data access, indexes, memory
BlockingLocks, transactions, concurrency
DeadlocksLocking and transaction patterns
Memory pressureBuffer pool, memory grants, workload
Slow queryQuery optimizer, execution plan, statistics, I/O
Long-running transactionTransactions, locks, log
Transaction log fullLog usage, active transactions, recovery model, log backups
TempDB pressureTemporary objects, version store, sorts, hashes
Bad execution planOptimizer, statistics, parameter sensitivity
Database corruptionStorage/I/O, memory, SQL Server, infrastructure
Failed backupBackup subsystem, storage, permissions
Failed restoreBackup validity, permissions, storage, version compatibility

This is where architecture knowledge becomes practical DBA knowledge.

46. Architecture Cheat Sheet: One-Page Mental Model

Remember this:

                    SQL SERVER
                        │
          ┌─────────────┴─────────────┐
          │                           │
    QUERY PROCESSOR             STORAGE ENGINE
          │                           │
    ┌─────┼─────┐              ┌─────┼─────┐
    │     │     │              │     │     │
 Parser  Bind  Optimizer      Buffer Locks  I/O
                │              │
                ↓              ↓
             Execution      Data Pages
                │              │
                └──────┬───────┘
                       ↓
                 Database Files
                       │
                ┌──────┴──────┐
                │             │
              Data           Log
             .mdf/.ndf       .ldf

And around all of this:

SQLOS
Security
Transactions
Memory
Schedulers
Waits
Extended Events

47. The DBA’s Architecture Questions

When something goes wrong, ask these questions:

Query is slow

What plan is being used?
How many rows are estimated?
How many rows are actually returned?
Are statistics current?
Are indexes appropriate?
Is the query waiting?
Is CPU high?
Is I/O high?
Is blocking involved?

CPU is high

Which process is consuming CPU?
Which SQL queries are consuming CPU?
Is this a sudden spike?
Is it SQL Server or another process?
Is parallelism involved?
Did a deployment change the workload?

Disk I/O is high

Which database?
Which files?
Which queries?
How many reads?
Are indexes appropriate?
Is memory sufficient?
Is storage healthy?

Blocking is high

Who is blocking?
Who is being blocked?
What transaction is open?
What query is running?
Why is the transaction taking so long?

Transaction log is growing

Why is the log growing?
What is the recovery model?
Are log backups running?
Is there a long-running transaction?
Is replication/AG/other feature preventing truncation?
Is the workload generating unusually high log activity?

48. Beginner-to-Advanced Learning Path

If you are new to SQL Server architecture, don’t try to learn everything at once.

Beginner

Start with:

Instance
Database
Schema
Table
Data files
Log files
Pages
Indexes
Transactions

Intermediate

Then learn:

Buffer Pool
Execution Plans
Statistics
Query Optimizer
Locks
Blocking
Deadlocks
TempDB
Transaction Log
Wait Statistics

Advanced

Then move to:

SQLOS
Schedulers
Workers
Memory Grants
Parallelism
Cardinality Estimation
Plan Cache
Parameter Sensitivity
Latch/Spinlock concepts
I/O architecture
HADR internals
Query Store
Extended Events

You don’t need advanced internals to start working as a DBA.

But understanding them becomes extremely valuable when troubleshooting complex production problems.

49. SQL Server Architecture: Quick Reference

ComponentSimple Meaning
InstanceRunning SQL Server environment
DatabaseLogical container for data and objects
SchemaLogical grouping of objects
TableStores relational data
Page8-KB unit of data storage
Extent8 pages / 64 KB
MDFPrimary data file
NDFSecondary data file
LDFTransaction log file
Buffer PoolMemory used to cache pages
Query ProcessorUnderstands and executes queries
ParserChecks SQL syntax
AlgebrizerResolves objects and data types
OptimizerChooses an execution strategy
Execution PlanDescribes how SQL Server executes a query
Storage EnginePerforms physical data operations
IndexHelps locate data efficiently
StatisticsHelp optimizer estimate row counts
Lock ManagerControls concurrent access
Transaction ManagerManages transactions
SQLOSProvides core internal services
TempDBShared temporary workspace
Plan CacheStores reusable compiled plans
Transaction LogRecords database modifications for recovery

50. Most Important Things to Remember

If you remember only ten things from this cheat sheet, remember these:

1. SQL Server instance and database are different things.

2. Data is stored in 8-KB pages.

3. The buffer pool keeps frequently accessed pages in memory.

4. The Query Optimizer chooses an execution strategy; it doesn’t simply “run your SQL.”

5. Execution plans tell you how SQL Server actually plans to access and process data.

6. Indexes can improve data access, but more indexes aren’t always better.

7. Statistics are critical to good cardinality estimates and plan selection.

8. The transaction log is fundamental to transaction durability and recovery. (Microsoft Learn)

9. Blocking, CPU, memory and I/O are different problems and require different investigation paths.

10. Always check SQL Server version, platform and required permissions before applying a technical solution.

Final DBA Perspective

You don’t become a better DBA by memorizing hundreds of SQL Server components.

You become better by understanding how those components interact.

When a production problem occurs, try to mentally trace the request:

Application
    ↓
Connection
    ↓
Security
    ↓
Query Processor
    ↓
Execution Plan
    ↓
Storage Engine
    ↓
Memory / Buffer Pool
    ↓
Locks / Transactions
    ↓
Data & Transaction Log
    ↓
Storage

Then ask:

Where exactly is the problem occurring?

That question is often more valuable than immediately searching for a command to run.

Practical DBA Tip

For any production troubleshooting article or solution, always check these three things before taking action:

1. SQL Server version/platform
Does this feature, syntax or behavior apply to my SQL Server version?

2. Required permission
Do I actually have permission to perform the investigation or change?

3. Impact of the action
Could this command change data, performance, availability or security?

If you don’t have the required permission, involve the DBA/security/infrastructure team rather than bypassing the permission model.

That small discipline can prevent a troubleshooting exercise from becoming a production incident.

Version note: This cheat sheet is written primarily for the modern SQL Server Database Engine, including SQL Server 2019, SQL Server 2022 and SQL Server 2025, while noting where Azure SQL Database differs. Always verify version-specific behavior in Microsoft documentation before applying an advanced or version-dependent feature. SQL Server’s permission model and available permissions have changed across releases. (Microsoft Learn)

Permission note: Examples that only read user data may require ordinary object permissions, while server-wide monitoring, configuration changes, killing other sessions, backups/restores and other administrative operations can require additional permissions. Use the least privilege necessary rather than defaulting to sysadmin. (Microsoft Learn)


Discover more from Technology with Vivek Johari

Subscribe to get the latest posts sent to your email.

Leave a Reply

Scroll to Top

Discover more from Technology with Vivek Johari

Subscribe now to keep reading and get access to the full archive.

Continue reading