【问题标题】:SQL Server 2005 IndexOptimize SP against one table's indexesSQL Server 2005 IndexOptimize SP 针对一个表的索引
【发布时间】:2012-10-16 00:42:37
【问题描述】:

我试图弄清楚如何使用我从http://ola.hallengren.com/ 获得的这个IndexOptimize 存储过程来仅针对单个表的索引运行。

当我运行以下查询时:

SELECT * 
FROM sys.dm_db_index_physical_stats (DB_ID(N'database_name'), 
                                     OBJECT_ID(N'dbo.table_name'), 
                                     NULL, NULL , 'DETAILED');'

我在运行 IndexOptimize 作业之前和之后都得到了这个结果:

http://cl.ly/image/472J160R1y2n

这是我要运行的内容:

EXECUTE dbo.IndexOptimize
     @Databases = 'database_name',
     @Indexes = 'database_name.dbo.table_name',
     @FragmentationLow = NULL,
     @FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE',
     @FragmentationHigh = 'INDEX_REBUILD_ONLINE',
     @FragmentationLevel1 = 5,
     @FragmentationLevel2 = 30'

查询完成,但似乎对表的索引没有影响。我错过了什么吗?

【问题讨论】:

  • 一个典型的解释是一张小桌子。您能否发布一个显示页数的屏幕截图,并可能添加一些有关表中行数的信息?查看针对可能与您的情况非常相似的问题提出的一些 cmets 也可能会有所帮助,以了解可能导致该问题的原因:beyondrelational.com/quiz/sqlserver/general/2010/questions/…

标签: sql sql-server-2005 indexing


【解决方案1】:

您已选择仅允许在线重建碎片 > 30% 的索引。在线重建索引只是企业功能。您使用的是 SQL Server 企业版吗?

【讨论】:

  • 没错。我在这个 SQL Server 上使用标准版。起初存在混淆,因为环境中还有其他使用 Enterprise 的 SQL Server。
猜你喜欢
  • 2018-11-01
  • 2011-07-16
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 2010-12-10
  • 2011-05-10
  • 2011-05-25
  • 2010-09-17
相关资源
最近更新 更多