Click here to monitor SSC
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in

Get your favorite SSC scripts directly in SSMS with the free SQL Scripts addin. Search for scripts directly from SSMS, and instantly access any saved scripts in your SSC briefcase from the favorites tab.
Download now (direct download link)

Check status of HEAP tables

By Wilfred van Dijk,

Although it's a general recommendation to have a clustered index on a table, not every application is following this guidance. Since heap tables can't be defragged or can't get rid of forwarded records, use this script to determine potential problems. I developed this script after we had some serious problems with a heap table.

Tables with a high fragmentation/ forwarded record count or ghost record count can be fixed by either creating a clustered index or do the traditional export-truncate-import (make sure you're aware of the consequences of these actions!)

Note: By running this script your "page life expectancy" will drop significantly (due to the dm_db_index_physical_stats usage)

New version: added parameter for tablename criteria. Output by RAISERROR instead of PRINT

NOTE: if this script is not working, copy/past it into an editor and remove goofy characters


Total article views: 2058 | Views in the last 30 days: 1
Related Articles

script included index

index include script


Script all Indexes

Generate scripts for all indexes in a database


INDEX NAME, TAble Name, Index Script required.

INDEX NAME, TAble Name, Index Script.


Generate Index only scripts for whole DB

scripts indexes database


Scripting Indexes

I was recently reading a blog posting on BIDN, Scripting Indexes with Filters and schemas.In the pos...

performance tuning