Biodro>
Wszystkie indeksy w bazie danych SQL Server zostaną pofragmentowane. Po wielu aktualizacjach powiązanych tabel usuń transakcje.
Jeśli indeks w tabeli jest pofragmentowany, wszystkie transakcje związane z tą tabelą będą przebiegać bardzo wolno. Tak więc administrator bazy danych SQL Server powinien często monitorować indeksy i które z indeksów są pofragmentowane, a które nie przypominają tego zrzutu ekranu.
Pofragmentowany indeks możesz sprawdzić za pomocą następującego skryptu. Wpisz nazwę bazy danych SQL Server poprawnie w pierwszym wierszu, a następnie zapytanie znajdzie pofragmentowane indeksy.
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;