sp_trace_setstatus (Transact-SQL)
适用范围:SQL Server
修改指定跟踪的当前状态。
重要
在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用扩展事件。
语法
sp_trace_setstatus
[ @traceid = ] traceid
, [ @status = ] status
[ ; ]
参数
[ @traceid = ] traceid
要修改的跟踪的 ID。 @traceid为 int,无默认值。 用户使用此 @traceid 值来标识、修改和控制跟踪。 有关检索 @traceid的信息,请参阅 sys.fn_trace_getinfo。
[ @status = ] status
指定要在跟踪上实现的操作。 @status 为 int,无默认值。
下表列出了可以指定的状态。
状态 | 说明 |
---|---|
0 |
停止指定的跟踪。 |
1 |
启动指定的跟踪。 |
2 |
关闭指定的跟踪并从服务器中删除其定义。 |
注意
在关闭跟踪前首先必须先停止它。 在查看跟踪前首先必须先停止并关闭它。
返回代码值
下表介绍了在存储过程完成后,可以获取的代码值。
返回代码 | 说明 |
---|---|
0 |
无错误。 |
1 |
未知错误。 |
8 |
指定的状态无效。 |
9 |
指定的跟踪句柄无效。 |
13 |
内存不足。 当没有足够的内存来执行指定的操作时返回。 |
如果跟踪已处于指定状态,则 SQL Server 返回 0
。
注解
所有 SQL 跟踪存储过程(sp_trace_*
)的参数都严格类型化。 如果这些参数不是使用正确的输入参数数据类型(正如参数说明中指定的一样)调用的,则存储过程会返回错误。
有关使用跟踪存储过程的示例,请参阅 “创建跟踪”。
权限
需要 ALTER TRACE 权限。