sp_trace_setstatus (Transact-SQL)

适用范围:SQL Server

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

重要

在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用扩展事件。

Transact-SQL 语法约定

语法

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

参数

[ @traceid = ] traceid

要修改的跟踪的 ID。 @traceid为 int,无默认值。 用户使用此 @traceid 值来标识、修改和控制跟踪。 有关检索 @traceid的信息,请参阅 sys.fn_trace_getinfo

[ @status = ] status

指定要在跟踪上实现的操作。 @statusint,无默认值。

下表列出了可以指定的状态。

状态 说明
0 停止指定的跟踪。
1 启动指定的跟踪。
2 关闭指定的跟踪并从服务器中删除其定义。

注意

在关闭跟踪前首先必须先停止它。 在查看跟踪前首先必须先停止并关闭它。

返回代码值

下表介绍了在存储过程完成后,可以获取的代码值。

返回代码 说明
0 无错误。
1 未知错误。
8 指定的状态无效。
9 指定的跟踪句柄无效。
13 内存不足。 当没有足够的内存来执行指定的操作时返回。

如果跟踪已处于指定状态,则 SQL Server 返回 0

注解

所有 SQL 跟踪存储过程(sp_trace_*)的参数都严格类型化。 如果这些参数不是使用正确的输入参数数据类型(正如参数说明中指定的一样)调用的,则存储过程会返回错误。

有关使用跟踪存储过程的示例,请参阅 “创建跟踪”。

权限

需要 ALTER TRACE 权限。