SQL Server 上的命令历史记录

此查询为我提供了在 SQL Server 上执行的命令的历史记录:

This query gives me the history of commands executed on 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%' 我得到不好的结果(我认为这是因为交叉连接):

When I added Where x.Query LIKE '%Insert%' I get bad results (I think that this is because of the cross join):

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 上正常工作?

How do I get the cross join to work properly on SQL Server 2008 R2?

推荐答案

我不确定你的意思是什么:坏结果",但这对我有用:

I am not sure what you mean by: "Bad results", but this works for me:

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%'

相关文章