Monday, September 13, 2010

MSSQL Index Report

This is just a first pass.  I plan to include a temp dable to store the output of dbcc showstatistics...


SELECT
    owner = CASE WHEN O.principal_id IS NULL THEN user_name(O.schema_id)
        ELSE user_name(O.principal_id) END,
    OBJECT_NAME(I.object_id) AS object_name,
    I.name AS index_name,
    I.type_desc,
    STATS_DATE (I.object_id, I.index_id) AS statistics_update_date,
    stats_no_recompute = CASE WHEN S.no_recompute = 1 THEN 'on'
        ELSE 'off' END
FROM
    sys.indexes I,
    sys.objects O,
    sys.stats S
WHERE
    O.object_id = I.object_id AND
    O.type = 'U' AND
    S.object_id = I.object_id AND
    O.object_id = S.object_id AND
    I.name = S.name
ORDER BY
    owner,
    object_name

No comments:

Post a Comment