創(chuàng)建跟蹤定義。新的跟蹤將處于停止狀態(tài)。
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 的數(shù)據(jù)類型為 int,默認設置為 NULL。用戶使用 trace_id 值識別、修改并控制存儲過程所定義的跟蹤。
[ @options = ] option_value
指定為跟蹤設置的選項。option_value 的數(shù)據(jù)類型為 int,沒有默認設置。用戶可以通過指定所選出的選項的和值選擇這些選項的組合。例如,若要打開 TRACE_FILE_ROLLOVER 和 SHUTDOWN_ON_ERROR 選項,請指定 option_value 為 6。
下表列出了選項、說明和選項值。
選項名 | 選項值 | 描述 |
---|---|---|
TRACE_PRODUCE_ROWSET | 1 | 指定跟蹤將生成行集。 |
TRACE_FILE_ROLLOVER | 2 | 指定當達到 max_file_size 時,將關閉當前跟蹤文件并創(chuàng)建新文件。所有新記錄都將寫入新文件。新文件將與前一個文件同名,但是在文件名后將附加一個整數(shù)以表示其序列。例如,如果命名原始跟蹤文件為 filename.trc,則命名下個跟蹤文件為 filename_1.trc,命名再下一個跟蹤文件為 filename_2.trc,等等。 隨著創(chuàng)建了更多的翻轉跟蹤文件,附加到文件名的整數(shù)值繼續(xù)增加。 如果指定該選項時未指定 max_file_size 的值,則 SQL Server 使用 max_file_size 的默認值 (5 MB)。 |
SHUTDOWN_ON_ERROR | 4 | 指定無論任何原因,如果不能將跟蹤寫入文件,則 SQL Server 將關閉。執(zhí)行安全審核跟蹤時,該選項很有用。 |
TRACE_PRODUCE_BLACKBOX | 8 | 指定服務器產(chǎn)生的最后 5 MB 跟蹤信息記錄將由服務器保存。TRACE_PRODUCE_BLACKBOX 與所有其它選項不兼容。 |
[ @tracefile = ] 'trace_file'
指定跟蹤將寫入的位置和文件名。trace_file 的數(shù)據(jù)類型為 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 將創(chuàng)建新的跟蹤文件。新文件與原始文件同名,但是在其后附加 _n 以表示它的序列,序列從 1 開始。例如,如果第一個跟蹤文件名為 filename.trc,則命名第二個跟蹤文件為 filename_1.trc。
在使用 TRACE_PRODUCE_BLACKBOX 選項時無法指定 trace_file。
[ @maxfilesize = ] max_file_size
指定跟蹤文件可以增長到的最大文件大小(以 MB 為單位)。max_file_size 的數(shù)據(jù)類型為 bigint,默認設置為 5。
如果指定該參數(shù)時未帶有 TRACE_FILE_ROLLOVER 選項,則當使用的磁盤空間超過 max_file_size 所指定的空間量時跟蹤停止對文件的記錄。
[ @stoptime = ] 'stop_time'
指定將停止跟蹤文件的日期和時間。stop_time 的數(shù)據(jù)類型為 datetime,默認設置為 NULL。如果為 NULL,則跟蹤將一直運行,直到手動地停止它或服務器關閉。
如果同時指定 stop_time 和 max_file_size,但不指定 TRACE_FILE_ROLLOVER,則當達到指定停止時間或最大文件大小時跟蹤將停止。如果同時指定了 stop_time、max_file_size 和 TRACE_FILE_ROLLOVER,并假設跟蹤未填滿驅動器,則跟蹤將在指定停止時間停止。
下表描述在存儲過程完成之后用戶可能獲得的代碼值。
返回代碼 | 描述 |
---|---|
0 | 沒有錯誤。 |
1 | 未知錯誤。 |
10 | 無效選項。指定的選項不兼容時返回。 |
12 | 文件未創(chuàng)建。 |
13 | 內(nèi)存不足。在沒有足夠內(nèi)存執(zhí)行指定的操作時返回此代碼。 |
14 | 無效停止時間。在指定的停止時間已發(fā)生時返回此代碼。 |
15 | 參數(shù)無效。在用戶已提供不兼容的參數(shù)時返回此代碼。 |
sp_trace_create 是一個 Microsoft SQL Server 2000 存儲過程,它執(zhí)行以前由 SQL Server 早期版本中使用的 xp_trace_* 擴展存儲過程執(zhí)行的許多操作。使用 sp_trace_create,而不使用:
sp_trace_create 只創(chuàng)建跟蹤定義。該存儲過程不能用于啟動或更改跟蹤。
嚴格地鍵入所有 SQL 跟蹤存儲過程 (sp_trace_xx) 的參數(shù)。如果沒有用正確的輸入?yún)?shù)數(shù)據(jù)類型(與在參數(shù)說明中指定的相同)調(diào)用這些參數(shù),則存儲過程將返回錯誤。
只有 sysadmin 固定服務器角色成員才能執(zhí)行 sp_trace_create。