【发布时间】:2015-02-18 21:37:15
【问题描述】:
我想设置一个夜间脚本来重建所有碎片超过 30% 的索引。你能帮忙吗?
谢谢!
【问题讨论】:
-
我使用sqlfool.com/2011/06/index-defrag-script-v4-1 - 它似乎可以很好地完成这项工作,我不必担心。
标签: sql .net sql-server performance
我想设置一个夜间脚本来重建所有碎片超过 30% 的索引。你能帮忙吗?
谢谢!
【问题讨论】:
标签: sql .net sql-server performance
您可以使用Ola Hallengren's index maintenance solution。如果您只想重建索引,则可以这样配置dbo.IndexOptimize 过程:
CREATE PROCEDURE [dbo].[IndexOptimize]
@Databases nvarchar(max),
@FragmentationLow nvarchar(max) = NULL,
@FragmentationMedium nvarchar(max) = NULL,
@FragmentationHigh nvarchar(max) = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 int = 5,
@FragmentationLevel2 int = 30,
...
这些值具有以下含义:
@FragmentationLevel2)时被认为是高。@FragmentationHigh):INDEX_REBUILD_ONLINE 如果可用(企业版),否则使用INDEX_REBUILD_OFFLINE。参考资料:
Documentation: SQL Server Index and Statistics Maintenance
SQLBits presentation: Inside Ola Hallengrens Maintenance Solution
Tweaking the Defaults for Ola Hallengren’s Maintenance Scripts
【讨论】: