plantegg 发表于 2019-1-27 06:40:41

如何查看当前Open的Cursor

  
遇到错误:A cursor with thename ' ' already exists,想要看是什么代码导致的。找到下面几种方法.

--测试声明Cursor并且打开
DECLARE vend_cursor CURSOR
FOR SELECT * FROM Purchasing.Vendor
OPEN vend_cursor
FETCH NEXT FROM vend_cursor;

--使用下面的三种方法都可以
SELECT ec.session_id,ec.name,ec.properties,ec.creation_time,ec.is_open,ec.writes,ec.reads,t.text
FROM sys.dm_exec_cursors(0)ec
CROSS APPLY sys.dm_exec_sql_text(ec.sql_handle)t

dbcc activecursors(0)

SELECT * FROM MASTER..SYSCURSORS

结果:
http://blog.运维网.com/attachment/201312/212258218.png
看起来DMV的结果更全面。
  



页: [1]
查看完整版本: 如何查看当前Open的Cursor