Ahoj
Všechny indexy v databázi SQL Serveru budou fragmentovány Po mnoha aktualizacích souvisejících tabulek odstraňte transakce.
Pokud je index v tabulce fragmentovaný, všechny transakce související s touto tabulkou budou velmi pomalé. SQL Server DBA by tedy měl často monitorovat indexy a které z indexů jsou fragmentované a které nejsou jako na následujícím snímku obrazovky.
Fragmentovaný index můžete zkontrolovat pomocí následujícího skriptu. Zadejte název databáze SQL Server je správně na prvním řádku, pak dotaz najde fragmentované indexy.
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;