Запросы сеанса 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
Я надеюсь, что это то, что вы ищете.