SQL Server 2000 - 如何找出正在使用的索引?

时间:2009-07-06 21:37:17

标签: sql indexing sql-server-2000

在SQL Server 2000中,如何找出正在使用的索引?

我可以很容易地找到所有索引的列表,但是如何知道哪些索引可以被删除,因为它们不再被使用?

我不想在运行解释计划的服务器上使用所有sql来查找这个并且还有可能遗漏的东西。

2 个答案:

答案 0 :(得分:0)

在2005版之前,信息不会保存在SQL Server中(请参阅此链接以了解如何在此处执行此操作:http://sqlserverpedia.com/wiki/Find_Indexes_Not_In_Use)。在此之前,您必须手动测试每个索引。

答案 1 :(得分:0)

正如乔尔所说,SS2005有办法(http://samsudeenb.blogspot.com/2008/07/index-maintenance-using-dmvs-in-sql.html)来找到你需要的东西。就SS2000而言,您可以尝试这种粗暴的方式 -

尝试使用跟踪捕获服务器的工作负载。有关工作负载和跟踪http://msdn.microsoft.com/en-us/library/ms190957.aspx?ppud=4

的更多信息,请查看此链接

一旦有了工作负载,就需要调用索引优化向导,即ITW(http://technet.microsoft.com/en-us/library/cc966541.aspx)。然后,您可以选择ITW生成的索引使用情况报告。此报告列出了工作负载使用的索引。

然后,您必须将该列表与sysindexes表中的信息进行比较,以获取不再使用的所有索引。

我希望对你有所帮助。

欢呼声