首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何配置Ola Hallengren IndexOptimize脚本以针对表的子集运行

如何配置Ola Hallengren IndexOptimize脚本以针对表的子集运行
EN

Database Administration用户
提问于 2020-05-13 17:01:41
回答 4查看 3.3K关注 0票数 6

我将Ola Hallengren IndexOptimize脚本用于SQL 2016数据库,该数据库的大小为7TB,有30多万个表。我每晚只有6个小时的时间来管理索引。我使用timelimit参数在6个小时后停止这项工作。

问题是,每天晚上索引作业都从索引的开始按字母顺序开始,并且只通过大约4,000个表。

如何才能使索引作业涵盖数据库中的所有索引?也许通过创造多个工作岗位,一周中每个晚上都有一个做一个索引子集的工作?还是有办法让这份工作在第二天重新开始,就像它以前停止的那样?

所有表都在同一个数据库架构中。这是一个供应商提供的数据库,我无法对数据库模式进行更改。

提前感谢您的指导。

我目前的工作步骤如下:

代码语言:javascript
复制
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 = 10, 
@FragmentationLevel2 = 40,
@UpdateStatistics = 'ALL', 
@OnlyModifiedStatistics = 'Y', 
@PartitionLevel = 'N', 
@MaxDOP = 0,
@SortInTempdb = 'Y',
@TimeLimit = 21600,
@LogToTable = 'Y'
EN

回答 4

Database Administration用户

发布于 2020-05-13 19:17:32

不要每天晚上破坏你的索引。您不再需要在现代硬件上使用(特别是具有零搜索时间的固态存储)。对于日常维护,您只需要更新修改后的统计数据,即使这样,您也只需要在注意到性能下降时(即检查监视系统告诉您的内容)时才进行此操作。

根据Ola的网站,您可以这样做:

代码语言:javascript
复制
EXECUTE dbo.IndexOptimize
@Databases = 'USER_DATABASES',
@FragmentationLow = NULL,
@FragmentationMedium = NULL,
@FragmentationHigh = NULL,
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'Y'

您可以做的另一件事是,当您确实需要整理索引(例如,您删除了大量数据)时,您可以使用Server的服务经纪人为一个批处理中的多个表设置维护计划。

这篇文章很深入,很难在这个答复中进行总结,但归根结底是创建了一个异步队列,它并行地激发了代理作业。

票数 9
EN

Database Administration用户

发布于 2020-05-13 20:52:47

@Indexes参数允许您指定单个索引或表。我们在一些非常大的表上使用它,然后将其排除在数据库的主要索引作业之外。

在这里阅读更多信息:https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html,特别是索引部分。

您还可以创建一个元表来填充表列表,然后调度,然后尝试通过游标运行该表。

票数 0
EN

Database Administration用户

发布于 2020-05-21 03:29:52

您还可以在https://www.minionware.net/products-1/reindex/上查看Minion重新索引之类的替代方案。

其中有一些不同的特性,如DB或表排序https://minionware.freshdesk.com/support/solutions/articles/43000040362-minion-reindex-1-2-how-to-reindex-tables-in-a-specific-order

http://www.midnightsql.com/wp-content/uploads/2015/01/MinionReindexVsIndexOptimize.pdf

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/267095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档