我们正在使用 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) 如何检查我的 PROD 服务器上是否启用了 IFI?
我做了以下检查:
确保运行 SQL Server 的服务帐户是管理员组的一部分。
为“管理员”设置了执行卷维护任务权限
这是否意味着启用了 IFI?
我们有一个包含超过 300 列的表的第三方数据库,在 SQL Server 2012 中,我们收到一个错误,提示我们超出了允许的最大 8060 字节。我想知道升级到 SQL Server 2016 是否会有所帮助。
SQL Server 2016 是否也有 8060 字节的限制?是否可以在 SQL Server 2016 中拥有更多列而不会遇到以下错误?
错误:已创建表“X”,但其最大行大小超过了允许的最大值 8060 字节。如果结果行超过大小限制,则对该表的 INSERT 或 UPDATE 将失败。