Hej
Alle indekser i SQL Server-databasen vil blive fragmenteret Efter at relaterede tabeller har fået mange opdateringer, skal du slette transaktioner.
Hvis indekset i tabellen er fragmenteret, vil alle transaktioner relateret til den tabel være meget langsomme. Så SQL Server DBA bør ofte overvåge indekser, og hvilke af indekser der er fragmenterede, og hvilke der ikke er som følgende skærmbillede.
Du kan kontrollere fragmenteret indeks med følgende script. Skriv SQL Server Databasenavnet er korrekt i den første linje, så vil forespørgslen finde fragmenterede indekser.
declare @db int select @db=DB_ID('DEVECI')
select 'ALTER INDEX [' + i.name +'] on '+OBJECT_NAME(s.object_id)+' REBUILD WITH (ONLINE = ON)', objname = OBJECT_NAME(s.object_id), s.object_id, index_name= i.name, index_type_desc, avg_fragmentation_in_percent from sys.dm_db_index_physical_stats(@db,null,null,null,null) as s join sys.indexes i on i.object_id = s.object_id and i.index_id = s.index_id where avg_fragmentation_in_percent>30 order by avg_fragmentation_in_percent desc, page_count desc;