2012-04-24 4 views
1

Этот запрос дает мне историю команд, выполняющихся на SQL Server:История команды на SQL Server

Select * 
From 
(
SELECT  deqs.last_execution_time AS [Time], 
      dest.TEXT AS [Query] 
FROM  sys.dm_exec_query_stats AS deqs 
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest 
) x 

Когда я добавил Where x.Query LIKE '%Insert%' я получаю плохие результаты (я думаю, что это из-за перекрестного соединения):

Select * 
From 
(
    SELECT  deqs.last_execution_time AS [Time], 
       dest.TEXT AS [Query] 
    FROM  sys.dm_exec_query_stats AS deqs 
    CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest 
) x 
Where x.Query LIKE '%Insert%' 

Как получить кросс-соединение для правильной работы на SQL Server 2008 R2?

ответ

2

Я не уверен, что вы имеете в виду: «плохие результаты», но это работает для меня:

SELECT deqs.last_execution_time AS [Time], dest.TEXT AS [Query] 
FROM sys.dm_exec_query_stats AS deqs 
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS dest 
WHERE dest.TEXT LIKE '%Insert%' 
Смежные вопросы