sp_trace_setstatus (Transact-SQL)

Modifies the current state of the specified trace.

Topic link icon Transact-SQL Syntax Conventions

sp_trace_setstatus [ @traceid = ] trace_id , [ @status = ] status

[ @traceid = ] trace_id

Is the ID of the trace to be modified. trace_id is int, with no default. The user employs this trace_id value to identify, modify, and control the trace. For information about retrieving the trace_id, see fn_trace_getinfo (Transact-SQL).

[ @status = ] status

Specifies the action to implement on the trace. status is int, with no default.

The following table lists the status that may be specified.

Status Description


Stops the specified trace.


Starts the specified trace.


Closes the specified trace and deletes its definition from the server.

A trace must be stopped first before it can be closed. A trace must be stopped and closed first before it can be viewed.

The following table describes the code values that users may get following completion of the stored procedure.

Return code Description


No error.


Unknown error.


The specified Status is not valid.


The specified Trace Handle is not valid.


Out of memory. Returned when there is not enough memory to perform the specified action.

If the trace is already in the state specified, SQL Server will return 0.

Parameters of all SQL Trace stored procedures (sp_trace_xx) are strictly typed. If these parameters are not called with the correct input parameter data types, as specified in the argument description, the stored procedure will return an error.

User must have ALTER TRACE permission.

Community Additions