Stop-DbaTrace
View SourceSynopsis
Stops running SQL Server traces using sp_trace_setstatus
Description
Stops one or more running SQL Server traces by calling sp_trace_setstatus with a status of 0. This is useful when you need to stop traces created for troubleshooting, performance monitoring, or security auditing that are no longer needed or are impacting server performance. The function prevents you from accidentally stopping the default trace and provides guidance to use Set-DbaSpConfigure if you need to disable it. Works with trace IDs or accepts piped input from Get-DbaTrace for selective stopping of traces.
Syntax
Stop-DbaTrace
[[-SqlInstance] <DbaInstanceParameter[]>]
[[-SqlCredential] <PSCredential>]
[[-Id] <Int32[]>]
[[-InputObject] <Object[]>]
[-EnableException]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Examples
Example: 1
PS C:\> Stop-DbaTrace -SqlInstance sql2008
Stops all traces on sql2008
Example: 2
PS C:\> Stop-DbaTrace -SqlInstance sql2008 -Id 1
Stops all trace with ID 1 on sql2008
Example: 3
PS C:\> Get-DbaTrace -SqlInstance sql2008 | Out-GridView -PassThru | Stop-DbaTrace
Stops 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 trace IDs to stop. Accepts one or more trace ID numbers as integers.
Use this when you need to stop specific traces instead of all running traces on the instance.
| Property | Value |
|---|---|
| Alias | |
| Required | False |
| Pipeline | false |
| Default Value |
-InputObject
Accepts trace objects from the pipeline, typically from Get-DbaTrace output.
This enables selective stopping of traces by piping Get-DbaTrace results through filtering commands like Out-GridView or Where-Object.
| 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 per trace that was stopped, with the following default display properties:
- ComputerName: The name of the computer hosting the SQL Server instance
- InstanceName: The SQL Server instance name
- SqlInstance: The full SQL Server instance name (computer\instance format)
- Id: The unique identifier of the trace
- IsRunning: Boolean indicating if the trace is currently running (false after successful stop)
*Additional properties available via Select-Object :
- Status: Current status of the trace
- Path: File path where trace events are logged
- MaxSize: Maximum size of the trace file in MB
- StopTime: DateTime when the trace will stop
- MaxFiles: Maximum number of trace files for rollover
- IsRowset: Boolean indicating if trace data is in rowset format
- IsRollover: Boolean indicating if trace file rollover is enabled
- IsShutdown: Boolean indicating if trace stops on shutdown
- IsDefault: Boolean indicating if this is the default trace
- BufferCount: Number of buffers in memory
- BufferSize: Size of each buffer in KB
- FilePosition: Current position in the trace file
- ReaderSpid: SPID of the trace reader process
- StartTime: DateTime when the trace started
- LastEventTime: DateTime of the last event logged
- EventCount: Total number of events logged
- DroppedEventCount: Number of events dropped due to buffer overflow
- Parent: Reference to the parent SQL Server object
dbatools