Thor Logo dbatools

Start-DbaTrace

View Source
Chrissy LeMaire (@cl), netnerds.net
Windows, Linux, macOS

Synopsis

Starts existing SQL Server traces that are currently stopped

Description

Starts SQL Server traces that have been defined but are not currently running. This function activates traces by setting their status to 1 using sp_trace_setstatus, allowing you to begin collecting trace data for performance monitoring, auditing, or troubleshooting. The default trace cannot be started with this function - use Set-DbaSpConfigure to enable it instead.

Syntax

Start-DbaTrace
    [[-SqlInstance] <DbaInstanceParameter[]>]
    [[-SqlCredential] <PSCredential>]
    [[-Id] <Int32[]>]
    [[-InputObject] <Object[]>]
    [-EnableException]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

 

Examples

 

Example: 1
PS C:\> Start-DbaTrace -SqlInstance sql2008

Starts all traces on sql2008

Example: 2
PS C:\> Start-DbaTrace -SqlInstance sql2008 -Id 1

Starts all trace with ID 1 on sql2008

Example: 3
PS C:\> Get-DbaTrace -SqlInstance sql2008 | Out-GridView -PassThru | Start-DbaTrace

Starts selected traces on sql2008

Optional Parameters

-SqlInstance

The target SQL Server instance

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Value
-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
-Id

Specifies the numeric IDs of specific traces to start. When omitted, all stopped traces on the instance will be started.
Use this when you need to start only particular traces rather than all available stopped traces.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
Default Value
-InputObject

Accepts trace objects from the pipeline, typically from Get-DbaTrace. This allows you to filter traces first, then start only the selected ones.
Use this parameter when piping trace objects or when you have trace objects from a previous Get-DbaTrace command.

PropertyValue
Alias
RequiredFalse
Pipelinetrue (ByValue)
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
-WhatIf

If this switch is enabled, no actions are performed but informational messages will be displayed that explain what would happen if the command were to run.

PropertyValue
Aliaswi
RequiredFalse
Pipelinefalse
Default Value
-Confirm

If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.

PropertyValue
Aliascf
RequiredFalse
Pipelinefalse
Default Value

Outputs

PSCustomObject

Returns one object for each trace that was started or would be started (if -WhatIf is specified).

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)
  • Id: The trace ID number
  • Status: Numeric trace status value (0=stopped, 1=running, 2=closed)
  • IsRunning: Boolean indicating if the trace is currently running
  • Path: The file path where the trace output is stored
  • MaxSize: Maximum size of the trace file in megabytes (0=unlimited)
  • StopTime: DateTime when the trace is scheduled to stop, or null if running indefinitely
  • MaxFiles: Maximum number of rollover files (0=unlimited)
  • IsRowset: Boolean indicating if trace output is written as rowset
  • IsRollover: Boolean indicating if rollover file creation is enabled
  • IsShutdown: Boolean indicating if trace will stop on server shutdown
  • IsDefault: Boolean indicating if this is the default system trace
  • BufferCount: Number of in-memory buffers allocated for the trace
  • BufferSize: Size of each buffer in kilobytes
  • FilePosition: Current file position for trace output
  • ReaderSpid: Server process ID reading the trace (SPID)
  • StartTime: DateTime when the trace was started
  • LastEventTime: DateTime of the most recent trace event
  • EventCount: Number of events captured by the trace
  • DroppedEventCount: Number of events dropped due to buffer limitations

Additional properties available but excluded from default view:

  • RemotePath: UNC path to the trace file for remote access (null if Path is empty)
  • Parent: Reference to the Microsoft.SqlServer.Management.Smo.Server object
  • SqlCredential: The credentials used to connect to the instance Use Select-Object * to access all properties.