我是个不速之客。我正在进行索引重建/重组。一旦我习惯于执行这些任务,我很想使用一些脚本。我确实浏览了一些关于这个主题的论坛页面。我有一个SQLServer2008R2实例,它有大约25个不同大小和需要的数据库。我被指派为8个数据库做索引调优。由于索引的大小、分段级别、索引的编号以及去碎片发生的速度因数据库而异,我理解有些数据库需要每月维护索引,而很少有数据库每周维护一次索引。我有两个问题:
我应该多长时间安排一次重建/重组过程?上个月,我重建了30%以上的片段级索引,并重新组织和更新了5-30%片段级的统计数据。然后,我在一周后检查了它,我发现了一两个零碎的索引,一个月后我检查了它,我发现大约10个零碎的indexes..is --这是再次安排索引维护的合适时间吗?
如果我为实例开发一个通用脚本,那么应该如何使它对实例上的所有数据库工作,因为并不是每个数据库都需要同时维护索引。
发布于 2014-10-14 14:07:56
发布于 2014-10-14 14:08:29
我建议您使用Ola Hallengren的脚本,免费提供并广泛使用。
他的网站是:https://ola.hallengren.com/
•DatabaseBackup: SQL Server Backup
•DatabaseIntegrityCheck: SQL Server Integrity Check
•IndexOptimize: SQL Server Index and Statistics Maintenance
他的脚本中有编码的最佳实践,所以应该很好地为您服务。
编辑:对于我的服务器,我发现每周一次对我们很好。
对于服务器上的数据库,可以运行单独的作业,也可以让单个作业遍历所有数据库。查看MaintenanceSolution,了解如何包含和排除数据库。
发布于 2014-10-14 14:08:48
Ola Hallengren的获奖解决方案是不会出错的。太棒了;
https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html
首先,您可以计划每天运行一次,然后根据解决方案在特定系统上所需的索引维护的实际繁忙程度,重新评估您的需求。
https://dba.stackexchange.com/questions/80149
复制相似问题