Sql server SQL DMV将索引使用情况链接到存储过程使用情况

Sql server SQL DMV将索引使用情况链接到存储过程使用情况,sql-server,tsql,Sql Server,Tsql,我正在审核和清理一些SQL 2008 R2框 我做了很多工作: sys.dm_db_index_usage_stats (Index usage) sys.dm_exec_procedure_stats (Procedure usage) 这些DMV提供了许多良好的性能信息 我需要的是一种将结果联系在一起的方法。i、 e.如何确定哪些存储过程正在使用哪些索引 我一直在计划缓存中分解XML,但这非常低效,有人有更好的解决方案吗?使用系统报告 在ManagementStudio中右键单击服务器或

我正在审核和清理一些SQL 2008 R2框

我做了很多工作:

sys.dm_db_index_usage_stats (Index usage)

sys.dm_exec_procedure_stats (Procedure usage)
这些DMV提供了许多良好的性能信息

我需要的是一种将结果联系在一起的方法。i、 e.如何确定哪些存储过程正在使用哪些索引


我一直在计划缓存中分解XML,但这非常低效,有人有更好的解决方案吗?

使用
系统报告

在ManagementStudio中右键单击服务器或特定数据库。选择报告,然后选择标准报告,然后选择对象执行统计信息


我确信您能够使用SQL Server Profiler捕获查询(如果有必要)

这就是我在删除存储过程之前使用特定索引查找存储过程的方法。嗨,我已经看过这个了。我的问题是,我在较小的框中有超过80000个索引,因此我必须为每个索引分解每个计划缓存。我正试图想出一些更有效的方法,每天都可以运行,使我能够将结果持久化到一个永久表中并监视更改。我已经将每个计划分解一次并得到它使用的索引列表,但我希望一些鲜为人知的dmv或XML技巧能够产生最小的开销。80000个索引?用精灵巴迪的话来说,这太令人震惊了。为什么你需要信息哪个程序使用特定的索引?要知道哪个语句使用索引是不够的(对于语句来说,这是获取信息的捷径,哪个过程使用这些语句)?Deadsheep39:我继承了一个庞大的内部解决方案,该解决方案被大量和不适当地索引。我需要找出哪些存储过程产生的开销最大,即索引扫描和更新,然后将其反馈给相应的开发团队。(我需要确定系统中存在问题的部分,并将所有权返还给正确的团队。)