修改指定的跟踪的当前状态。
sp_trace_setstatus [ @traceid = ] trace_id
, [ @status = ] status
[ @traceid = ] trace_id
是要修改的跟踪 ID。trace_id 的数据类型为 int,没有默认设置。用户使用 trace_id 值识别、修改和控制跟踪。
[ @status = ] status
指定要在跟踪上执行的操作。status 的数据类型为 int,没有默认设置。
下表列出了可以指定的状态。
状态 | 描述 |
---|---|
0 | 停止指定的跟踪。 |
1 | 启动指定的跟踪。 |
2 | 关闭指定的跟踪并从服务器中删除其定义。 |
说明 在关闭跟踪前首先必须先停止它。
下表描述在存储过程完成之后用户可能获得的代码值。
返回代码 | 描述 |
---|---|
0 | 没有错误。 |
1 | 未知错误。 |
8 | 指定的状态无效。 |
9 | 指定的跟踪句柄无效。 |
13 | 内存不足。在没有足够内存执行指定的操作时返回此代码。 |
如果跟踪已经处于指定的状态,则 SQL Server 将返回 0。
sp_trace_setstatus 是 Microsoft SQL Server 2000 存储过程,它执行以前由 SQL Server 早期版本中使用的 xp_trace_* 扩展存储过程执行的许多操作。使用 sp_trace_setstatus 而不使用:
严格地键入所有 SQL 跟踪存储过程 (sp_trace_xx) 的参数。如果没有用正确的输入参数数据类型(与在参数说明中指定的相同)调用这些参数,则存储过程将返回错误。
只有 sysadmin 固定服务器角色成员才能执行 sp_trace_setstatus。