Sql server 如何确定sp_cursorfetch正在使用的查询
探查器显示我的服务器被大量对sp_cursorfetch的调用超载,但我想知道哪些查询导致了所有这些流量。您可能需要为此使用 我不确定您想要实现什么,如果您正在执行批处理流程执行计划,可能会有所帮助 希望它有帮助:)您可能需要使用它 我不确定您想要实现什么,如果您正在执行批处理流程执行计划,可能会有所帮助Sql server 如何确定sp_cursorfetch正在使用的查询,sql-server,sql-server-2000,Sql Server,Sql Server 2000,探查器显示我的服务器被大量对sp_cursorfetch的调用超载,但我想知道哪些查询导致了所有这些流量。您可能需要为此使用 我不确定您想要实现什么,如果您正在执行批处理流程执行计划,可能会有所帮助 希望它有帮助:)您可能需要使用它 我不确定您想要实现什么,如果您正在执行批处理流程执行计划,可能会有所帮助 希望有帮助:)探查器在这种情况下不起作用 我运行了一个来测试它,并使用以下命令查询了我从中创建的表: 选择CPU,TextData FROM CPU where LoginName='db\u
希望有帮助:)探查器在这种情况下不起作用 我运行了一个来测试它,并使用以下命令查询了我从中创建的表: 选择CPU,TextData FROM CPU where LoginName='db\u name\u here'按CPU描述顺序排列 //请务必在此处替换db_name_ 结果我看到了这样的东西:
CPU----TextData-----------------------------
0------exec sp_cursorfetch 180150000, 16, 7415, 1
*注意:上面的“-”只是为了格式化它,所以它在这个网站上实际上是可读的
========
我在这方面找到的唯一答案是:
- Select语句是这些游标抓取的唯一原因,检查最常用表的索引是解决此问题的良好开端
- 您可能能够在cursorfetch调用的SPID上过滤跟踪,以查看它在运行sp_cursorfetch之前和之后正在做什么
- 仅获取您当前使用的总记录集的子集。假设你现在抓到100排。只抓取10,因为10是用户在任何给定时间所能看到的最多的
CPU----TextData-----------------------------
0------exec sp_cursorfetch 180150000, 16, 7415, 1
*注意:上面的“-”只是为了格式化它,所以它在这个网站上实际上是可读的
========
我在这方面找到的唯一答案是:
- Select语句是这些游标抓取的唯一原因,检查最常用表的索引是解决此问题的良好开端
- 您可能能够在cursorfetch调用的SPID上过滤跟踪,以查看它在运行sp_cursorfetch之前和之后正在做什么
- 仅获取您当前使用的总记录集的子集。假设你现在抓到100排。只抓取10,因为10是用户在任何给定时间所能看到的最多的
Thanks for your suggestions, all of which are helpful. Unfortunately the queries in question are from a third party application, of which I do not have direct access to view or modify the queries. If I find a query that is a particuar problem, I can submit a support request to have it reviewed. I just need to know what the query is, first. – Shandy Apr 21 at 8:17
您不需要访问应用程序就可以尝试我前面提到的大多数建议。让我们看一下:
- 这是在数据库服务器上完成的。您只需在数据库上运行一个调优配置文件,并使用生成的配置文件运行SQL tuning Advisor。这将有助于改进索引
- 这也是您使用SQL事件探查器所做的事情
- 这是在应用程序级别完成的
真正的问题是什么?为什么要分析数据库?回应评论:
Thanks for your suggestions, all of which are helpful. Unfortunately the queries in question are from a third party application, of which I do not have direct access to view or modify the queries. If I find a query that is a particuar problem, I can submit a support request to have it reviewed. I just need to know what the query is, first. – Shandy Apr 21 at 8:17
您不需要访问应用程序就可以尝试我前面提到的大多数建议。让我们看一下:
- 这是在数据库服务器上完成的。您只需在数据库上运行一个调优配置文件,并使用生成的配置文件运行SQL tuning Advisor。这将有助于改进索引
- 这也是您使用SQL事件探查器所做的事情
- 这是在应用程序级别完成的
真正的问题是什么?为什么要分析数据库?(抱歉-我已经更正了问题-我正在使用profier)。(抱歉-我已经更正了问题-我正在使用profier)。答:看起来SQL2005/2008可以这样做:看起来SQL2005/2008可以这样做:谢谢你的建议,所有这些都很有帮助。不幸的是,问题中的查询来自第三方应用程序,我无法直接访问该应用程序查看或修改查询。如果我发现一个查询是一个特殊的问题,我可以提交一个支持请求,让它被审查。我只想知道这个问题是什么