我有一个用C#编写的应用程序,它使用Linq2SQL与SQL Server进行通信。有些查询运行有点(非常)慢,我认为它可能需要一些索引来加快速度。
但我真的不知道该怎么做,或者我应该或不应该做什么,在哪里或什么。所以我想我可以问这里,但后来我发现了一个名为数据库引擎优化顾问的程序,我认为我可以先尝试一下。问题是我无法让它发挥作用。可能是我只是不知道怎么做,但我真的无法弄清楚这一点。据我所见,我根据帮助文件做了我应该做的事。
答案 0 :(得分:7)
我认为您未获得推荐的原因是您的数据库没有“SHOWPLAN”权限。授予用户您正在运行访问的分析器,然后重试。
另外,我也看到一些“无效对象名称”错误 - 确保运行分析器的用户对所有相关表具有适当的权限。
答案 1 :(得分:7)
如果您收到此错误,还可以检查另一件事。如果你像我一样笨拙,你可能忘记在“常规”选项卡上的“工作负载分析数据库”下拉列表中选择相应的数据库
答案 2 :(得分:3)
我以自己的身份运行分析器(dbo),但我的跟踪本身包含来自没有SHOWPATH访问权限的IIS应用程序池用户的查询。
所以我授予了对该IIS应用程序池用户的SHOWPATH访问权限,然后它运行正常。
GRANT SHOWPLAN TO [COMPANYDOMIAN\IIS_APPUSER]