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