小编Joe*_*idt的帖子

SQL Server 索引和统计维护性能问题

我尝试在IndexOptimize索引数量非常多(> 250.000)的数据库上使用存储过程。存储过程收集需要处理的数据的初始步骤需要数小时,即使我设置了 @Indexes 参数来缩小工作范围。

SQL Server 维护解决方案版本:2019-02-10 10:40:47 安装了最新 CU14 的 SQL Server 2017 标准版。

在客户那里,我看到了一个包含 500.000 个以上索引的数据库。12 小时后,数据收集步骤仍在运行。

我希望如果我将 @Indexes 设置为单个索引执行应该立即开始。

这是我的存储过程调用的示例。

EXECUTE dbo.IndexOptimize
@Databases = 'db',
@Indexes =  'db.dbo.'
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 30,
@FragmentationLevel2 = 50,
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'Y',
@LogToTable = 'Y',
@LockTimeout = 60
Run Code Online (Sandbox Code Playgroud)

有人可以与我分享他在索引数量非常多的数据库中使用 IndexOptimize 的经验吗?

index sql-server ola-hallengren index-maintenance sql-server-2017

4
推荐指数
1
解决办法
492
查看次数