Nan*_*ncy 6 index sql-server ola-hallengren
我们正在使用 Ola Hallengren 的 IndexOptimize 脚本在 SQL Server 2008 和 2012 上重建索引。这些维护脚本非常好,并且已经为我们的数据库工作了几个月。但是,最近我注意到它在对数据库执行索引重建后将 FillFactor 更改为 90,即使 FillFactor 参数为NULL.
在执行脚本之前,我检查sys.indexes了所有索引的 FillFactor 是否为 0,但我不确定为什么脚本在完成后将 FillFactor 更改为 90。这在数据库上造成了很多问题。
您是否知道这是否是 IndexOptimize 脚本中 FillFactor 更改为 90 的预期行为?
这是我执行的:
EXECUTE dbo.IndexOptimize
@Databases = 'dbname',
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30,
@LogToTable = 'Y'
Run Code Online (Sandbox Code Playgroud)
Eri*_*ing 13
如果您为@FillFactor变量赋值,Ola 的脚本只会更改填充因子。
IF @FillFactor IS NOT NULL AND @CurrentIsPartition = 0 AND @CurrentIndexType IN(1,2,3,4) SET @CurrentCommand13 = @CurrentCommand13 + ', FILLFACTOR = ' + CAST(@FillFactor AS nvarchar)
Run Code Online (Sandbox Code Playgroud)
这意味着某人:
您可以编写存储过程的脚本以查看是否有人更改了默认值,
或者您可以查询dbo.CommandLog表以查看是否以REBUILD90 的填充因子运行命令。
SELECT *
FROM dbo.CommandLog AS cl
WHERE cl.CommandType = 'ALTER_INDEX'
AND cl.Command LIKE '%FILLFACTOR%'
Run Code Online (Sandbox Code Playgroud)
如果有人使用不同的脚本或 GUI 对其进行了更改,则追踪起来会困难得多。
| 归档时间: |
|
| 查看次数: |
974 次 |
| 最近记录: |