Ola Hallengren 索引优化脚本不重建索引

K09*_*K09 4 index sql-server-2008 sql-server maintenance index-tuning

我已经下载了 Ola Hallengren 的脚本并部署到主数据库。我使用下面的运行它...

EXECUTE dbo.IndexOptimize
 @Databases = 'USER_DATABASES',
 @FragmentationLow = NULL,
 @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
 @FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
 @FragmentationLevel1 = 5,
 @FragmentationLevel2 = 30
Run Code Online (Sandbox Code Playgroud)

我在 SSMS 中得到了这个输出,但索引没有被重建。碎片化程度还是很高的。我错过了什么吗?

Date and time: 2015-03-01 14:07:24
Server: TestSvr
Version: 10.50.2500.0
Edition: Standard Edition (64-bit)
Procedure: [master].[dbo].[IndexOptimize]
Parameters: @Databases = 'USER_DATABASES', 
@FragmentationLow = NULL, 
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',     
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', 
@FragmentationLevel1 = 5, 
@FragmentationLevel2 = 30, 
@PageCountLevel = 1000, @SortInTempdb = 'N', 
@MaxDOP = NULL, @FillFactor = NULL, @PadIndex = NULL, 
@LOBCompaction = 'Y', @UpdateStatistics = NULL, 
@OnlyModifiedStatistics = 'N', @StatisticsSample = NULL, 
@StatisticsResample = 'N', @PartitionLevel = 'Y', 
@MSShippedObjects = 'N', 
@Indexes = NULL, @TimeLimit = NULL, @Delay = NULL, 
@WaitAtLowPriorityMaxDuration = NULL, 
@WaitAtLowPriorityAbortAfterWait = NULL, @LockTimeout = NULL, 
@LogToTable = 'N', @Execute = 'Y'
Source: https://ola.hallengren.com

Date and time: 2015-03-01 14:07:24
Database: [TestData]
Status: ONLINE
Standby: No
Updateability: READ_WRITE
User access: MULTI_USER
Is accessible: Yes
Recovery model: SIMPLE
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Aar*_*and 16

您的索引只有 679 页。Ola的解决方案设置为忽略小于1000页的索引(见@PageCountLevel参数)。您可以覆盖它,以便它关心少于 1000 页的索引,但为什么呢?白费功夫恕我直言。

我将不再担心像这样的小表 - 让 Ola 的解决方案完成它的工作,并在您可以实际证明碎片导致特定索引的实际性能问题时担心碎片。“碎片化程度高”本身不是问题。