SQL Server,如何取得所运行的SQL语句列表?
现在有一个存储过程是用SQL/CLR技术,C#语言编写的。 编译后得到DLL部署到SQL Server上。
问题是,怎样得到这个DLL里面所执行的SQL语句列表呢? SQL Server有这个功能吗?就是列出所执行的SQL语句的功能。。。
前提: 这个DLL不输出任何log。
[题外话]
这个DLL是自己开发的,当然有源代码。读源代码就能列出所执行的所有SQL语句。
可是领导要“执行时”的SQL语句列表。我读源代码所列出的SQL语句列表不被采用。
然后就让我调查怎样才能取得SQL Server给我的SQL语句列表。。。
我很惆怅。
希望广大高手提供宝贵经验,告诉我怎样做,我好去见大老总。。。
本人先在此跪谢了。
------解决方案--------------------SQL Server Profiler
------解决方案--------------------SQL Server Profiler能跟踪sql server实时运行语句的。
------解决方案--------------------方式很多。
没事看看系统的一些功能。
use master
SELECT db_name(s1.dbid),
s2.text
FROM sysprocesses AS s1
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2
WHERE s2.objectid is null
ORDER BY s1.sql_handle
各种dm中都有不少你喜欢的信息。
------解决方案--------------------使用SqlServer 自带的工具SQL Server Profiler,可以实现你的功能,这个工具功能蛮强大的。
------解决方案--------------------同意5楼
------解决方案--------------------SQL Server Profiler中事件选择把TSQL事件和STORED PROCEDURES事件里面的关注项都选上,可以显示存储过程里面每一步的SQL语句,就是输出太多机器差点会卡卡的。