2017-08-30 39 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