Thor Logo dbatools

Get-DbaXESession

View Source
Klaas Vandenberghe (@PowerDBAKlaas)
Windows, Linux, macOS

Synopsis

Retrieves Extended Events sessions with detailed configuration and status information from SQL Server instances.

Description

This function connects to one or more SQL Server instances and returns comprehensive information about Extended Events sessions, including their current status, configuration details, target files, and memory settings. Extended Events sessions are SQL Server’s modern event-handling system used for performance monitoring, troubleshooting, and auditing. This command helps DBAs inventory existing sessions, verify their operational status, and locate output files across multiple SQL Server instances without manually connecting to each server. The function automatically resolves target file paths and provides both local and UNC path information for easier file access from remote management stations.

Syntax

Get-DbaXESession
    [-SqlInstance] <DbaInstanceParameter[]>
    [[-SqlCredential] <PSCredential>]
    [[-Session] <Object[]>]
    [-EnableException]
    [<CommonParameters>]

 

Examples

 

Example: 1
PS C:\> Get-DbaXESession -SqlInstance ServerA\sql987

Returns a custom object with ComputerName, SQLInstance, Session, StartTime, Status and other properties.

Example: 2
PS C:\> Get-DbaXESession -SqlInstance ServerA\sql987 | Format-Table ComputerName, SqlInstance, Session, Status -AutoSize

Returns a formatted table displaying ComputerName, SqlInstance, Session, and Status.

Example: 3
PS C:\> 'ServerA\sql987','ServerB' | Get-DbaXESession

Returns a custom object with ComputerName, SqlInstance, Session, StartTime, Status and other properties, from multiple SQL instances.

Required Parameters

-SqlInstance

The target SQL Server instance or instances. You must have sysadmin access and server version must be SQL Server version 2008 or higher.

PropertyValue
Alias
RequiredTrue
Pipelinetrue (ByValue)
Default Value

Optional Parameters

-SqlCredential

Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory - Integrated are all supported.
For MFA support, please use Connect-DbaInstance.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Value
-Session

Filters results to specific Extended Events sessions by name. Accepts multiple session names as an array.
Use this when you need to check status or configuration of particular sessions rather than viewing all XE sessions on the instance.

PropertyValue
AliasSessions
RequiredFalse
Pipelinefalse
Default Value
-EnableException

By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.
This avoids overwhelming you with “sea of red” exceptions, but is inconvenient because it basically disables advanced scripting.
Using this switch turns this “nice by default” feature off and enables you to catch exceptions with your own try/catch.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default ValueFalse

Outputs

Microsoft.SqlServer.Management.XEvent.Session

Returns one Session object per Extended Events session found on the specified SQL Server instance(s).

Default display properties (via Select-DefaultView):

  • ComputerName: The computer name of the SQL Server instance
  • InstanceName: The SQL Server instance name
  • SqlInstance: The full SQL Server instance name (computer\instance)
  • Name: The name of the Extended Events session
  • Status: Current session status - either “Running” or “Stopped”
  • StartTime: DateTime when the session was started (null if stopped)
  • AutoStart: Boolean indicating if the session starts automatically when SQL Server starts
  • State: SMO object state (Existing, Creating, Pending, etc.)
  • Targets: Collection of target objects configured for this session
  • TargetFile: Array of resolved file paths for all event_file targets (includes UNC paths for network access)
  • Events: Collection of Extended Events configured in this session
  • MaxMemory: Maximum memory allocation for the session in KB
  • MaxEventSize: Maximum event size the session will capture in KB

Additional properties added as NoteProperties:

  • Session: The session name (alias for Name property)
  • RemoteTargetFile: Array of UNC paths for all target files (for remote file access)
  • Parent: Reference to the parent Microsoft.SqlServer.Management.Smo.Server object
  • Store: Reference to the Microsoft.SqlServer.Management.XEvent.XEStore object

*Additional properties available from SMO Session object (via Select-Object ):

  • ID: Unique identifier for the session
  • EventRetentionMode: Event retention behavior setting
  • MaxDispatchLatency: Maximum dispatch latency in seconds
  • MemoryPartitionMode: Memory partitioning strategy
  • TrackCausality: Boolean indicating if causality tracking is enabled
  • IdentityKey: Identity key of the session object