首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新构建索引的作业的问题

重新构建索引的作业的问题
EN

Database Administration用户
提问于 2017-09-30 20:47:25
回答 1查看 1.3K关注 0票数 2

我们有一个维护计划(MP)工作,每周重建索引。

上一次,由于僵局,作业失败了。我应该重新运行整个作业,还是只需要重新运行死锁索引的重建?

索引的重建正在使用MP计划的标准工具进行。

据我所知,如果一个用于索引重建的标准MP作业由于死锁而停止,这意味着其他索引(在死锁索引之后)也需要重建吗?还是MP作业将重建除此失败之外的所有索引?

以下是职务历史记录中的输入示例:

进度: 2017-09-30 21:00:33.06 来源:重建索引Task执行查询"USE []“。:0% complete End Progress Progress: 2017-09.软件包执行fa...步骤失败。

没有关于已完成的索引重建的信息,只有查询开始执行的信息。看起来,检查重建与否的一种方法是使用T脚本检查整个数据库的索引碎片?

只有关于死锁的信息,而MP日志中没有更多的信息。

EN

回答 1

Database Administration用户

发布于 2017-09-30 21:34:18

  1. 您应该重新构建它陷入僵局的索引,并重新构建任何其他之后没有发生的索引--如果整个作业失败并停止了。
  2. 希望您正在重建索引,在不太繁忙的时间,例如夜间或下班后。如果您没有选择,并且有一个持续繁忙的系统,请使用在线选项重新构建,在dbo上更改索引。测试重新构建(ONLINE = ON);
  3. 此外,我只会重建需要它的索引。哈伦仁网站有一个选项,可以用5%的碎片重新组织索引,并为30%的碎片进行重建。我认为Windows维护还没有此选项。执行dbo.IndexOptimize @Databases = 'USER_DATABASES',@FragmentationLow = NULL,@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_USER_脱机‘,@FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_USER_脱机’,@FragmentationLevel1 = 5,@FragmentationLevel2 = 30,@UpdateStatistics = 'ALL',@OnlyModifiedStatistics = 'Y‘

检查死锁何时发生,以及整个作业持续时间如何。如果这些点在一起,那么作业就会在死锁时停止。如果作业持续时间比死锁持续时间长,则会重建更多的索引。

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

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

复制
相关文章

相似问题

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