Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用CPU、持续时间、exec计划捕获每个线程和参数化存储过程调用的扩展事件设置_Sql Server_Tsql_Extended Events - Fatal编程技术网

Sql server 使用CPU、持续时间、exec计划捕获每个线程和参数化存储过程调用的扩展事件设置

Sql server 使用CPU、持续时间、exec计划捕获每个线程和参数化存储过程调用的扩展事件设置,sql-server,tsql,extended-events,Sql Server,Tsql,Extended Events,谢谢你阅读这篇文章并花费你的时间,我提前感谢你的回答 我们的目标是创建一个扩展事件并从T-SQL代码中读取,以捕获存储过程或函数,其中的参数随CPU一起传递,持续时间、读、写等数字随执行计划一起传递 创建了一个具有以下定义的扩展事件,问题是在存储过程对象的情况下,我找不到CPU、读取、写入module\u end事件。然后,我想从特定存储过程的SP\u Statement\u Completed事件中聚合数字,但我没能编写一个查询,该查询可以链接特定存储过程执行会话的所有SP\u Stateme

谢谢你阅读这篇文章并花费你的时间,我提前感谢你的回答

我们的目标是创建一个扩展事件并从T-SQL代码中读取,以捕获存储过程或函数,其中的参数随CPU一起传递,持续时间、读、写等数字随执行计划一起传递

创建了一个具有以下定义的扩展事件,问题是在存储过程对象的情况下,我找不到CPU、读取、写入
module\u end
事件。然后,我想从特定存储过程的
SP\u Statement\u Completed
事件中聚合数字,但我没能编写一个查询,该查询可以链接特定存储过程执行会话的所有
SP\u Statement\u Completed
事件并对它们求和

请您帮助查询并正确定义扩展事件

CREATE EVENT SESSION [SP_exec_Stats] ON SERVER 
ADD EVENT sqlserver.module_end(SET collect_statement=(1)
    ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.database_name,sqlserver.plan_handle,sqlserver.session_id,sqlserver.session_nt_username,sqlserver.sql_text,sqlserver.transaction_id,sqlserver.transaction_sequence,sqlserver.tsql_stack,sqlserver.username)
    WHERE ([package0].[greater_than_uint64]([duration],(100000)) AND [sqlserver].[is_system]=(0))),
ADD EVENT sqlserver.rpc_completed(SET collect_statement=(1)
    ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.database_name,sqlserver.plan_handle,sqlserver.session_id,sqlserver.session_nt_username,sqlserver.sql_text,sqlserver.transaction_id,sqlserver.transaction_sequence,sqlserver.tsql_stack,sqlserver.username)
    WHERE ([package0].[greater_than_uint64]([duration],(100000)) AND ([result]=(2) OR [package0].[greater_than_uint64]([logical_reads],(0)) OR [package0].[greater_than_uint64]([cpu_time],(0)) OR [package0].[greater_than_uint64]([physical_reads],(0)) OR [package0].[greater_than_uint64]([writes],(0))) AND [package0].[equal_boolean]([sqlserver].[is_system],(0)))),
ADD EVENT sqlserver.sp_statement_completed(SET collect_object_name=(1),collect_statement=(1)
    ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.database_name,sqlserver.plan_handle,sqlserver.session_id,sqlserver.session_nt_username,sqlserver.sql_text,sqlserver.transaction_id,sqlserver.transaction_sequence,sqlserver.tsql_stack,sqlserver.username)
    WHERE ([package0].[greater_than_int64]([duration],(100000)) AND ([package0].[greater_than_uint64]([cpu_time],(0)) OR [package0].[greater_than_uint64]([logical_reads],(0)) OR [package0].[greater_than_uint64]([physical_reads],(0)) OR [package0].[greater_than_uint64]([writes],(0))) AND [sqlserver].[is_system]=(0))),
ADD EVENT sqlserver.sql_batch_completed(
    ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.database_name,sqlserver.plan_handle,sqlserver.session_id,sqlserver.session_nt_username,sqlserver.sql_text,sqlserver.transaction_id,sqlserver.transaction_sequence,sqlserver.tsql_stack,sqlserver.username)
    WHERE ([duration]>(100000) AND [cpu_time]>(0) AND [package0].[equal_boolean]([sqlserver].[is_system],(0)))),
ADD EVENT sqlserver.sql_statement_completed(
    ACTION(sqlserver.client_app_name,sqlserver.client_hostname,sqlserver.database_name,sqlserver.plan_handle,sqlserver.session_id,sqlserver.session_nt_username,sqlserver.sql_text,sqlserver.transaction_id,sqlserver.transaction_sequence,sqlserver.tsql_stack,sqlserver.username)
    WHERE ([package0].[greater_than_int64]([duration],(100000)) AND ([package0].[greater_than_uint64]([cpu_time],(0)) OR [package0].[greater_than_uint64]([logical_reads],(0)) OR [package0].[greater_than_uint64]([physical_reads],(0)) OR [package0].[greater_than_uint64]([writes],(0))) AND [sqlserver].[is_system]=(0)))
ADD TARGET package0.event_file(SET filename=N'C:\test\sp_exec_sample.xel',max_file_size=(250),max_rollover_files=(4))
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=ON)
GO

我认为您希望
rpc_completed
捕获带有请求聚合度量的参数化调用。