Microsoft Dynamics AX 2012 database reindex

Below as script to check Index Fragmentation status

SELECT S.name as 'Schema',
T.name as 'Table',
I.name as 'Index',
DDIPS.avg_fragmentation_in_percent,
DDIPS.page_count
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS DDIPS
INNER JOIN sys.tables T on T.object_id = DDIPS.object_id
INNER JOIN sys.schemas S on T.schema_id = S.schema_id
INNER JOIN sys.indexes I ON I.object_id = DDIPS.object_id
AND DDIPS.index_id = I.index_id
WHERE DDIPS.database_id = DB_ID()
and I.name is not null
AND DDIPS.avg_fragmentation_in_percent > 0
ORDER BY DDIPS.avg_fragmentation_in_percent desc

file

When Fragmentation more then 50% required to run below script to reindex

USE MicrosoftDynamicsAXDatabase
GO
EXEC sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?', ' ', 80)"
GO
EXEC sp_updatestats
GO
Was this article helpful? Votes: 0
Article details:
Published date: 06/10/2021 7:43AM
Last updated: 06/10/2021 7:46AM (LS Mark)
Share article: 
Author: LS Mark
Permalink: https://doc.daxonet.com/kb/384669