SqlServer

sqlserver怎么查看执行过的语句

小亿
1462
2023-12-09 07:55:34
栏目: 云计算

在SQL Server中,可以使用以下方法查看执行过的语句:

  1. 使用SQL Server Management Studio (SSMS):打开SSMS,连接到目标数据库服务器,选择要查看的数据库,然后选择“工具”>“SQL Server Profiler”或者“工具”>“SQL Server跟踪”来打开SQL Server Profiler或SQL Server跟踪窗口。在这些工具中,您可以配置跟踪会话,选择要监视的事件,并启动跟踪。跟踪会话将记录执行过的语句以及其他相关信息。

  2. 使用SQL Server的系统视图:在SQL Server的目标数据库中,您可以查询一些系统视图来查看执行过的语句。例如,可以使用sys.dm_exec_query_stats视图来查看执行的语句和其执行计划的一些统计信息。可以使用sys.dm_exec_sql_text视图来获取执行过的SQL语句的文本。

下面是一个示例查询,可以使用sys.dm_exec_query_stats视图来查看在当前数据库中执行过的语句和其执行计划的一些统计信息:

SELECT 
    OBJECT_NAME(qt.objectid) AS 'ObjectName',
    SUBSTRING(st.text, (qs.statement_start_offset/2) + 1, 
                    ((CASE qs.statement_end_offset 
                        WHEN -1 THEN DATALENGTH(st.text)
                        ELSE qs.statement_end_offset 
                    END - qs.statement_start_offset)/2) + 1) AS 'ExecutedQuery',
    qs.execution_count AS 'ExecutionCount',
    qs.total_logical_reads AS 'TotalLogicalReads',
    qs.total_logical_writes AS 'TotalLogicalWrites',
    qs.total_physical_reads AS 'TotalPhysicalReads',
    qs.creation_time AS 'CreationTime'
FROM 
    sys.dm_exec_query_stats AS qs
CROSS APPLY 
    sys.dm_exec_sql_text(qs.sql_handle) AS st
LEFT JOIN 
    sys.dm_exec_query_stats AS qt ON qs.plan_handle = qt.plan_handle
ORDER BY 
    qs.creation_time DESC;

运行以上查询将返回执行过的语句和相关的统计信息,按照创建时间倒序排序。

请注意,这些方法都需要适当的权限来查看执行过的语句。

0
看了该问题的人还看了