在SQL Server 2000中,如何找出正在使用的索引?
我可以很容易地找到所有索引的列表,但是如何知道哪些索引可以被删除,因为它们不再被使用?
我不想在运行解释计划的服务器上使用所有sql来查找这个并且还有可能遗漏的东西。
答案 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表中的信息进行比较,以获取不再使用的所有索引。
我希望对你有所帮助。
欢呼声