I get waits that are coming from Fetch API_CURSOR0000000000xxx and I'm wondering how I can relate those back to the original query. Is this possible in DPA?
I get waits that are coming from Fetch API_CURSOR0000000000xxx and I'm wondering how I can relate those back to the original query. Is this possible in DPA?
This means the application is using a server side cursor. DPA does not use tracing to gather information but rather DMV analysis. This means it is a very lightweight tool but can only display the info it's given from the SQL Server DMVs. We are receiving the FETCH API_CURSOR statement from SQL Server. You could use our tool to find out which DB User or Application is making these calls.
Here is some more info:
http://www.sql-server-performance.com/2006/api-server-cursors/
http://www.sqlskills.com/blogs/joe/hunting-down-the-origins-of-fetch-api_cursor-and-sp_cursorfetch/
Unfortunately, there isn’t an easy way to view the sql being called because the cursor can call many sqls. You might be able to go back to the monitored database and run ‘exec dm_exec_cursors’ passing the spid if the process is still running.
SolarWinds solutions are rooted in our deep connection to our user base in the THWACK® online community. More than 195,000 members are here to solve problems, share technology and best practices, and directly contribute to our product development process.