簡體   English   中英

SQL Server會話查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM