SQL Server:事件不引用任何表(Tuning Advisor警告)

Svi*_*ish 10 c# sql-server performance sql-server-profiler linq-to-sql

我有一个用C#编写的应用程序,它使用Linq2SQL与SQL Server进行通信.有些查询运行有点(非常)慢,我认为它可能需要一些索引来加快速度.

但我真的不知道该怎么做,或者我应该或不应该做什么,哪里或什么.所以我想我可以在这里问一下,但后来我发现了一个名为Database Engine Tuning Advisor的程序,我认为我可以先尝试一下.问题是我无法让它发挥作用.可能是我只是不知道怎么做,但我真的无法弄清楚这一点.据我所知,我根据帮助文件做了我应该做的事情.

  1. 打开SQL Server Profiler.
  2. 使用Tuning模板启动新Trace.
  3. 启动我的应用程序并执行一些生成SQL查询的操作.
  4. 关闭我的申请.
  5. 停止追踪.
  6. 将跟踪保存为跟踪文件.
  7. 打开数据库引擎优化顾问
  8. 选择File as Workload并选择我之前保存的Trace文件.
  9. 选择我的应用程序在选择要调整的数据库和表下使用的数据库.
  10. 单击开始分析.

到目前为止我觉得事情还不错.但是当它在一段时间后结束时,我得到了这个:

进展http://i39.tinypic.com/1235avd.jpg

还有一个完全有用的推荐页面.事件没有引用任何表格?这意味着什么(除了明显的当然:p)?我在这里误解了这个过程吗?到底是怎么回事?

Jon*_*upp 6

我认为你没有得到推荐的原因是因为你的数据库没有'SHOWPLAN'权限.授予用户运行访问的分析器,然后重试.

此外,我还看到一些"无效对象名称"错误 - 确保您运行分析器的用户具有对所涉及的所有表的适当权限.


Phi*_*ale 6

如果您收到此错误,还可以检查另一件事.如果你像我一样笨拙,你可能忘记从"常用"选项卡上的"工作负载分析数据库"下拉列表中选择相应的数据库