如何查看当前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
结果:
看起来DMV的结果更全面。
本文转自 lzf328 51CTO博客,原文链接:
http://blog.51cto.com/lzf328/1346852