Sample Header Ad - 728x90

SQL Server Extended Events - collecting SP Object_name

0 votes
1 answer
53 views
I'm going round in circles trying to work out how to collect the object_name in extended events, I can use it to filter like in the session definition below
CREATE EVENT SESSION [xetest] ON SERVER 
ADD EVENT sqlserver.module_start(
  ACTION(
    sqlserver.client_app_name,
    sqlserver.client_hostname,
    sqlserver.database_name /*, sqlserver.object_name*/
  )
  WHERE (
    [package0].[divides_by_uint64]([sqlserver].[session_id], (10))
    AND object_name = N'Price_GetGenericOwner'
  )
)
ADD TARGET package0.ring_buffer(
  SET
    max_events_limit = (10000),
    max_memory = (4096)
)
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
But when I try and collect the data as per this second example I get an error message, my intention is to collect all the SP names and analyse the data but this is ahrd if I can't collect it, can anybody shed some light on what I am doing wrong ?
CREATE EVENT SESSION [xetest] ON SERVER 
ADD EVENT sqlserver.module_start(
  ACTION(
    sqlserver.client_app_name,
    sqlserver.client_hostname,
    sqlserver.database_name,
    object_name
  )
  WHERE (
    [package0].[divides_by_uint64]([sqlserver].[session_id], (10))
    AND object_name = N'Price_GetGenericOwner'
  )
)
ADD TARGET package0.ring_buffer(
  SET
    max_events_limit = (10000),
    max_memory = (4096)
)
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
Msg 25623, Level 16, State 3, Line 14
The event action name, "object_name", is invalid, or the object could not be found
Asked by Stephen Morris - Mo64 (4656 rep)
Jun 5, 2025, 09:45 AM
Last activity: Jun 5, 2025, 03:05 PM