Forwarded Records in heap tables still puzzle many SQL Server users, years after I first wrote about them. Here is what they are and how to fix them.
Deleting From a Heap: Why Empty Pages Stay Behind
The rows are gone but the table is the same size and scans are just as slow. Here is why, and two ways to fix it.
Count Rows and Indexes for Every Table in SQL Server
To count rows and indexes for every table, one query on the catalog views answers four questions at once: how many tables, which are heaps, how many nonclustered indexes each has, and how many rows each holds. The post tests it on a demo database and explains where the row count comes from.
ALTER TABLE REBUILD: Fixing a Heap Without a Clustered Index
A heap with widening rows collects forwarded records. Here is how to measure them, fix them and know when the fix will not last.
Nonclustered Index Rebuild Quiz: Does a Clustered Rebuild Touch Them?
This Nonclustered Index Rebuild Quiz asks what happens to the other indexes when you rebuild the clustered index. The answer is nothing, and a tested script shows it. It also covers the cases where SQL Server does rebuild them.
Physical Order of Rows: What a Clustered Index Does
Physical order of rows depends on one thing: whether the table has a clustered index. This post builds a heap and two clustered tables from the same twelve mall stores, shows the page and slot of every row, and counts pages and page splits. Every result comes from SQL Server 2025.
Heap Tables: When a Table Without a Clustered Index Hurts
Find heap tables, inspect forwarded records and empty-page behavior, and choose between a clustered index and a planned rebuild.







