Modify an Existing Trace (Transact-SQL)

APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

This topic describes how to use stored procedures to modify an existing trace.

To modify an existing trace

  1. If the trace is already running, execute sp_trace_setstatus by specifying @status = 0 to stop the trace.

  2. To modify trace events, execute sp_trace_setevent by specifying the changes through the parameters. Listed in order, the parameters are:

We are listening: If you find something outdated or incorrect in this article, such as a step or a code example, please tell us. You can click the This page button in the Feedback section at the bottom of this page. We read every item of feedback about SQL, typically the next day. Thanks.

-   **@traceid** (Trace ID)  

-   **@eventid** (Event ID)  

-   **@columnid** (Column ID)  

-   **@on** (ON)  

 When you modify the **@on** parameter, keep in mind its interaction with the **@columnid** parameter:  

|ON|Column ID|Result|  
|ON (**1**)|NULL|Event is turned on. All columns are cleared.|  
||NOT NULL|Column is turned on for the specified event.|  
|OFF (**0**)|NULL|Event is turned off. All columns are cleared.|  
||NOT NULL|Column is turned off for the specified event.|  


Unlike regular stored procedures, parameters of all SQL Server Profiler stored procedures (sp_trace_xx) are strictly typed and do not support automatic data type conversion. If these parameters are not called with the correct input parameter data types, as specified in the argument description, the stored procedure returns an error.

See Also

sp_trace_setevent (Transact-SQL)
sp_trace_setstatus (Transact-SQL)
System Stored Procedures (Transact-SQL)
SQL Server Profiler Stored Procedures (Transact-SQL)