Transact-SQL 参考

sp_trace_create

创建跟踪定义。新的跟踪将处于停止状态。

语法

sp_trace_create [ @traceid = ] trace_id OUTPUT
    , [ @options = ] option_value
    , [ @tracefile = ] 'trace_file'
    [ , [ @maxfilesize = ] max_file_size ]
    [ , [ @stoptime = ] 'stop_time' ]

参数

[ @traceid = ] trace_id

是 Microsoft® SQL Server™ 2000 分配给新跟踪的编号。将忽略任何用户提供的输入。trace_id 的数据类型为 int,默认设置为 NULL。用户使用 trace_id 值识别、修改并控制存储过程所定义的跟踪。

[ @options = ] option_value

指定为跟踪设置的选项。option_value 的数据类型为 int,没有默认设置。用户可以通过指定所选出的选项的和值选择这些选项的组合。例如,若要打开 TRACE_FILE_ROLLOVER 和 SHUTDOWN_ON_ERROR 选项,请指定 option_value 为 6。

下表列出了选项、说明和选项值。

选项名 选项值 描述
TRACE_PRODUCE_ROWSET 1 指定跟踪将生成行集。
TRACE_FILE_ROLLOVER 2 指定当达到 max_file_size 时,将关闭当前跟踪文件并创建新文件。所有新记录都将写入新文件。新文件将与前一个文件同名,但是在文件名后将附加一个整数以表示其序列。例如,如果命名原始跟踪文件为 filename.trc,则命名下个跟踪文件为 filename_1.trc,命名再下一个跟踪文件为 filename_2.trc,等等。

随着创建了更多的翻转跟踪文件,附加到文件名的整数值继续增加。

 如果指定该选项时未指定 max_file_size 的值,则 SQL Server 使用 max_file_size 的默认值 (5 MB)。

SHUTDOWN_ON_ERROR 4 指定无论任何原因,如果不能将跟踪写入文件,则 SQL Server 将关闭。执行安全审核跟踪时,该选项很有用。
TRACE_PRODUCE_BLACKBOX 8 指定服务器产生的最后 5 MB 跟踪信息记录将由服务器保存。TRACE_PRODUCE_BLACKBOX 与所有其它选项不兼容。

[ @tracefile = ] 'trace_file'

指定跟踪将写入的位置和文件名。trace_file 的数据类型为 nvarchar (245),没有默认设置。trace_file 可以是本地目录(如 N 'C:\MSSQL\Trace\trace.trc'),也可以是到共享或路径 (N'\\Servername\Sharename\Directory\trace.trc') 的 UNC。

SQL Server 会将 .trc 扩展名附加到所有的跟踪文件名。如果已指定 TRACE_FILE_ROLLOVER 选项和 max_file_size,则当原始跟踪文件增长到其最大值时,SQL Server 将创建新的跟踪文件。新文件与原始文件同名,但是在其后附加 _n 以表示它的序列,序列从 1 开始。例如,如果第一个跟踪文件名为 filename.trc,则命名第二个跟踪文件为 filename_1.trc。

在使用 TRACE_PRODUCE_BLACKBOX 选项时无法指定 trace_file

[ @maxfilesize = ] max_file_size

指定跟踪文件可以增长到的最大文件大小(以 MB 为单位)。max_file_size 的数据类型为 bigint,默认设置为 5。

如果指定该参数时未带有 TRACE_FILE_ROLLOVER 选项,则当使用的磁盘空间超过 max_file_size 所指定的空间量时跟踪停止对文件的记录。

[ @stoptime = ] 'stop_time'

指定将停止跟踪文件的日期和时间。stop_time 的数据类型为 datetime,默认设置为 NULL。如果为 NULL,则跟踪将一直运行,直到手动地停止它或服务器关闭。

如果同时指定 stop_timemax_file_size,但不指定 TRACE_FILE_ROLLOVER,则当达到指定停止时间或最大文件大小时跟踪将停止。如果同时指定了 stop_timemax_file_size 和 TRACE_FILE_ROLLOVER,并假设跟踪未填满驱动器,则跟踪将在指定停止时间停止。

返回代码值

下表描述在存储过程完成之后用户可能获得的代码值。

返回代码 描述
0 没有错误。
1 未知错误。
10 无效选项。指定的选项不兼容时返回。
12 文件未创建。
13 内存不足。在没有足够内存执行指定的操作时返回此代码。
14 无效停止时间。在指定的停止时间已发生时返回此代码。
15 参数无效。在用户已提供不兼容的参数时返回此代码。

注释

sp_trace_create 是一个 Microsoft SQL Server 2000 存储过程,它执行以前由 SQL Server 早期版本中使用的 xp_trace_* 扩展存储过程执行的许多操作。使用 sp_trace_create,而不使用:

sp_trace_create 只创建跟踪定义。该存储过程不能用于启动或更改跟踪。

严格地键入所有 SQL 跟踪存储过程 (sp_trace_xx) 的参数。如果没有用正确的输入参数数据类型(与在参数说明中指定的相同)调用这些参数,则存储过程将返回错误。

权限

只有 sysadmin 固定服务器角色成员才能执行 sp_trace_create

示例

请参见

sp_trace_generateevent

sp_trace_setevent

sp_trace_setfilter

sp_trace_setstatus