Applies to: SQL Server (all supported versions)
Modifies the current state of the specified trace.
This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use Extended Events instead.
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 sys.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.
|0||Stops the specified trace.|
|1||Starts the specified trace.|
|2||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.
Return Code Values
The following table describes the code values that users may get following completion of the stored procedure.
|8||The specified Status is not valid.|
|9||The specified Trace Handle is not valid.|
|13||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.
For an example of using trace stored procedures, see Create a Trace (Transact-SQL).
User must have ALTER TRACE permission.