DECLARE @db_id INT = DB_ID('ViatecUT') -- вкажіть точну назву БД
DBCC FLUSHPROCINDB(@db_id)
USE ViatecUT -- замініть на точну назву бази
GO
EXEC sp_updatestats
GO
SELECT
OBJECT_NAME(i.object_id) AS таблиця,
i.name AS індекс,
ROUND(s.avg_fragmentation_in_percent, 1) AS фрагментація
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED') s
JOIN sys.indexes i ON s.object_id = i.object_id
AND s.index_id = i.index_id
WHERE s.avg_fragmentation_in_percent > 30
AND s.page_count > 1000
ORDER BY s.avg_fragmentation_in_percent DESC
SELECT
'ALTER INDEX ' + QUOTENAME(i.name) +
' ON ' + QUOTENAME(OBJECT_NAME(i.object_id)) +
' REORGANIZE;' AS команда
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED') s
JOIN sys.indexes i ON s.object_id = i.object_id
AND s.index_id = i.index_id
WHERE s.avg_fragmentation_in_percent BETWEEN 10 AND 30
AND s.page_count > 1000
ALTER INDEX ALL ON dbo._AccumRg10674
REBUILD WITH (ONLINE = ON)
ALTER INDEX ALL ON dbo._AccumRg10674
REBUILD