2017-08-30 54 views

回答

0

SQL Server支持收集执行统计数据的本地编译存储过程,无论在程序级别和查询级别。由于性能影响,收集执行统计信息默认情况下未启用。

您可以使用sys.sp_xtp_control_proc_exec_stats(Transact-SQL)在本机编译的存储过程上启用和禁用统计信息收集。

https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sys-sp-xtp-control-proc-exec-stats-transact-sql

+0

嗨谢谢你的回复,我没有看到管理 - >扩展事件 - > SSMS中的扩展事件,我错过了什么吗? 再次感谢。 – user8537241

0

Extended Events是更换为探查/ SQL跟踪。 Profiler提供的许多事件也可用于扩展事件,以及其他许多事件。

如果您当前有过滤的SQL跟踪(包括rpc_completed和sql_batch_completed事件写入翻转文件),下面的DDL将创建一个XE跟踪,以将这些相同的事件捕获到具有翻滚的扩展事件文件。

CREATE EVENT SESSION [cache] ON SERVER 
ADD EVENT sqlserver.rpc_completed(
    WHERE ([sqlserver].[like_i_sql_unicode_string]([statement],N'proc1') 
    OR [sqlserver].[like_i_sql_unicode_string]([statement],N'proc2') 
    OR [sqlserver].[like_i_sql_unicode_string]([statement],N'proc3'))), 
ADD EVENT sqlserver.sql_batch_completed(SET collect_batch_text=(1) 
    WHERE ([sqlserver].[like_i_sql_unicode_string]([batch_text],N'proc1') 
    OR [sqlserver].[like_i_sql_unicode_string]([batch_text],N'proc2') 
    OR [sqlserver].[like_i_sql_unicode_string]([batch_text],N'proc3'))) 
ADD TARGET package0.event_file(SET filename=N'selected_proc_trace',max_file_size=(1024),max_rollover_files=(5)) 
WITH (
    MAX_MEMORY=4096 KB 
    ,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS 
    ,MAX_DISPATCH_LATENCY=30 SECONDS 
    ,MAX_EVENT_SIZE=0 KB 
    ,MEMORY_PARTITION_MODE=NONE 
    ,TRACK_CAUSALITY=OFF 
    ,STARTUP_STATE=OFF); 
GO 

扩展事件踪迹可以创建,管理和使用SSMS查看的数据对象资源管理器下的管理 - >扩展事件 - >会话。该工具还包括用于等效Profiler模板的模板。

+0

嗨谢谢您的回复,一旦我启用了统计信息收集,我可以在哪里查看此信息? – user8537241

相关问题