Transact-SQL 参考

sp_trace_setstatus

修改指定的跟踪的当前状态。

语法

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

示例

请参见

fn_trace_geteventinfo

fn_trace_getfilterinfo

fn_trace_getinfo

sp_trace_generateevent

sp_trace_setevent

sp_trace_setfilter