0
为了能够访问会话查询,我在研究中发现的所有结果都是关于在SQL Server会话中执行的最后一个查询。SQL Server会话查询
有没有一种方法可以访问在会话中运行的所有查询,而不是SQL Server分析器,因为在制作环境中使用分析器并不那么容易。
有帮助吗?
为了能够访问会话查询,我在研究中发现的所有结果都是关于在SQL Server会话中执行的最后一个查询。SQL Server会话查询
有没有一种方法可以访问在会话中运行的所有查询,而不是SQL Server分析器,因为在制作环境中使用分析器并不那么容易。
有帮助吗?
我可能找到here解决您的问题。我添加了一个光标让所有查询特定会话:
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
我希望这是你要搜索的内容。
对不起,但这也是关于上次执行的会话查询,我正在寻找特定会话中的所有查询 – canpoint
实际上你是部分正确的,因为当我通过spid查询group并且使用count时,它给了我更多1计数为spid ID,但当我直接搜索它时,它返回1结果 – canpoint