KB4561725 - Improvement: Enables PolyBase Xevent Session in SQL Server 2019

Applies To
SQL Server 2019 on Windows

Improvement

This improvement enables collection of some PolyBase-specific Xevents in SQL Server 2019

More Information

Due to PolyBase being implemented by external services (PolyBase Engine and PolyBase Data Movement), the Xevents capture cannot be enabled in the same way that other SQL Server Engine Xevents are enabled (e.g. T-SQL commands or SQL Server Management Studio GUI).

  • To enable PolyBase Xevents collection, you need to create a new file EngineService.xevents.xml that contains the following:

Note

  • <event_sessions>
      <event_session
        name="DMSCommonSession" maxMemory="2" allowRecursiveEvents="true" eventRetentionMode="noEventLoss"
        trackCausality="false" dispatchLatency="5" maxEventSize="1"
        memoryPartitionMode="none"> 
  • <!-- these events are available on all SQL Server platforms (Windows/Linux/Big Data Clusters) -->
        <event package="DMSCommonXEvents" name="dsql_plan" />
        <event package="DMSCommonXEvents" name="name_node_ha" />
        <event package="DMSCommonXEvents" name="polybase_authorize_begin" />
        <event package="DMSCommonXEvents" name="polybase_authorize_end" />
     
    <!-- these events are only available for SQL Server Big Data Clusters -->
        <event package="DMSCommonXEvents" name="build_openrowset_query" />
        <event package="DMSCommonXEvents" name="initialize_metadata_processor" />
  • <target package="package0" name="event_file">
          <parameter name="filename" value="PdwXevents.xel" />
          <parameter name="max_file_size" value="10" />
          <parameter name="max_rollover_files" value="10" />
        </target>
     
      </event_session>
    </event_sessions>
  • Save the file to the ..\MSSQL\Binn\Polybase folder. You may have to save it to a different location and then move the file to this folder.
  • Restart PolyBase Engine service and you will see the file PdwXevents_0_{####}.xel created in the ..\MSSQL\Log\Polybase folder. You can view this XEL file in the same way as any other XEvents XEL file capture.

Event Descriptions

Xevent Fields Event/Field Description
Available on all platforms
dsql_plan Dsql plan information
memo_xml Memo xml
dsql_plan_xml XML of dsql plan
showplan_xml Showplan xml format of dsql plan.
distributed_query_hash Query Hash is unique for same query and will be used to identify query regression
distributed_statement_id Statement ID is unique for each statement in a batch and can be used for statement level correlation
distributed_request_id Request ID is unique for each sp_execute_memo and can be used for correlation of sp_execute_memo execution
distributed_query_id Query ID
distributed_plan_step Step in a distributed query plan
dms_plan_step Step in a DMS plan
sql_handle SQL Handle
name_node_ha NameNode ha tracing information.
uri NameNode URI
retry_count Number of retry count for this node.
isActiveNamenode
shouldRetry
polybase_authorize_begin PolyBase authorize begin event
app_name Application name
session_id Session ID
polybase_authorize_end PolyBase authorize end event
app_name Application name
session_id Session ID
Available on BDC
build_openrowset_query Build storagepool select from openrowset query
select_query The select from openrowset query
distributed_query_hash Query Hash is unique for same query and will be used to identify query regression
distributed_statement_id Statement ID is unique for each statement in a batch and can be used for statement level correlation
distributed_request_id Request ID is unique for each sp_execute_memo and can be used for correlation of sp_execute_memo execution
distributed_query_id Query ID
distributed_plan_step Step in a distributed query plan
dms_plan_step Step in a DMS plan
sql_handle SQL Handle
initialize_metadata_processor Metadata processor is initialized
shards_list List of shard endpoints

Resolution

This improvement is included in the following cumulative update for SQL Server:

About cumulative updates for SQL Server:

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

References

Learn about the terminology that Microsoft uses to describe software updates.