Index Rebuild MS SQL Server

Aus HB9FDZ
Zur Navigation springen Zur Suche springen

SQL Server: Index‑Wartung (Standard Edition)

Diese Dokumentation beschreibt, wie in einer Microsoft SQL Server Standard Edition die Indizes einer Datenbank gewartet werden. Da die Standard Edition keine Online‑Rebuilds unterstützt, müssen Rebuilds außerhalb der Betriebszeiten durchgeführt werden.

1. Fragmentierung prüfen

Um festzustellen, wie stark die Indizes fragmentiert sind:

SELECT 
    dbschemas.[name] AS 'Schema',
    dbtables.[name] AS 'Table',
    dbindexes.[name] AS 'Index',
    indexstats.avg_fragmentation_in_percent
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, 'LIMITED') AS indexstats
INNER JOIN sys.tables dbtables ON dbtables.[object_id] = indexstats.[object_id]
INNER JOIN sys.schemas dbschemas ON dbtables.[schema_id] = dbschemas.[schema_id]
INNER JOIN sys.indexes AS dbindexes ON dbindexes.[object_id] = indexstats.[object_id]
    AND indexstats.index_id = dbindexes.index_id
WHERE indexstats.avg_fragmentation_in_percent > 5
ORDER BY indexstats.avg_fragmentation_in_percent DESC;