Thor Logo dbatools

Stop-DbaTrace

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

Synopsis

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

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 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.

PropertyValue
Alias
RequiredFalse
Pipelinefalse
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.

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 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