Start-DbaTrace
View SourceSynopsis
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
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| 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.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| 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.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| 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.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | true (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.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| Default Value | False |
-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.
| Property | Value |
|---|---|
| Alias | wi |
| Required | False |
| Pipeline | false |
| Default Value |
-Confirm
If this switch is enabled, you will be prompted for confirmation before executing any operations that change state.
| Property | Value |
|---|---|
| Alias | cf |
| Required | False |
| Pipeline | false |
| 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.
dbatools