我对在Azure SQL上使用Ola Hallengren优化索引脚本很陌生,但由于没有现成的设置,我注意到有些索引的defrag % en > 80.000页数是不能处理的。当我对这样的索引执行手动重建时,一切都会正常工作。可以找到任何关于这种行为的阈值。
唯一的特点是,这些索引是非唯一的,非聚类的,涉及至少两个字段,其中一个字段只有一个空字符串。这就是原因吗?
换句话说,为什么优化脚本会跳过重建这样的索引呢?
发布于 2022-01-21 16:12:27
有两个选项筛选要重建/重新组织的索引。
MinNumberOfPages设置页面大小;跳过页数较少的索引以进行索引维护。默认为1000页。这是基于微软的建议。IndexOptimize检查sys.dm_db_index_physical_stats中的page_count以确定索引的大小。
和
MaxNumberOfPages以页面为单位设置一个大小;跳过页数较多的索引以进行索引维护。默认情况下没有限制。IndexOptimize检查sys.dm_db_index_physical_stats中的page_count以确定索引的大小。
这样说,您的索引相当大,并且可能没有设置MaxNumberOfPages。
尝试查看消息输出(使用@Execute = 'N‘和@ index = 'Db1.Schema1.Tbl1.Idx1’,并使用您想要删除的索引)
它应该给你索引状态和行动选择。对于相同的索引,将输出与select * from sys.dm_db_index_physical_stats输出的输出进行比较。
您正在使用Ola脚本的最后一个版本吗?试着下载最后一个版本。
https://dba.stackexchange.com/questions/306398
复制相似问题