[英]SQL Server session queries
为了能够访问会话查询,我在研究过程中发现的所有结果都与SQL Server会话中执行的最后一个查询有关。
有没有一种方法可以访问在会话中运行的所有查询而不是SQL Server事件探查器,因为在生产环境中使用事件探查器并不是那么容易。
有帮助吗?
我可能在这里找到了解决您问题的方法。 我添加了一个游标以获取特定会话的所有查询:
DECLARE @sql TABLE(sql_handle VARBINARY(128))
DECLARE @sqltext VARBINARY(128)
INSERT INTO @sql
SELECT sql_handle
FROM sys.sysprocesses p
WHERE p.spid = (YOUR_SESSION_ID)
DECLARE MyCursor CURSOR FOR
SELECT sql_handle
FROM @sql
OPEN MyCursor
FETCH NEXT FROM MyCursor
INTO @sqltext
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT TEXT
FROM sys.dm_exec_sql_text(@sqltext)
FETCH NEXT FROM MyCursor INTO @sqltext
END
CLOSE MyCursor
DEALLOCATE MyCursor;
GO
我希望这是您要寻找的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.