Запросы сеанса SQL Server

Чтобы получить доступ к запросу сеанса, все результаты, которые я нашел во время исследования, относятся к последнему запросу, выполненному в сеансе SQL Server.

Есть ли способ получить доступ ко всем запросам, которые выполнялись внутри сессии вместо профилировщика SQL Server, потому что использовать профилировщик в среде prduction не так просто.

Любая помогает?

1 ответ

Возможно, я нашел здесь решение вашей проблемы. Я добавил курсор, чтобы получить все запросы для определенного сеанса:

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

Я надеюсь, что это то, что вы ищете.

Другие вопросы по тегам