修改指定的跟蹤的當(dāng)前狀態(tài)。
sp_trace_setstatus [ @traceid = ] trace_id
, [ @status = ] status
[ @traceid = ] trace_id
是要修改的跟蹤 ID。trace_id 的數(shù)據(jù)類型為 int,沒(méi)有默認(rèn)設(shè)置。用戶使用 trace_id 值識(shí)別、修改和控制跟蹤。
[ @status = ] status
指定要在跟蹤上執(zhí)行的操作。status 的數(shù)據(jù)類型為 int,沒(méi)有默認(rèn)設(shè)置。
下表列出了可以指定的狀態(tài)。
狀態(tài) | 描述 |
---|---|
0 | 停止指定的跟蹤。 |
1 | 啟動(dòng)指定的跟蹤。 |
2 | 關(guān)閉指定的跟蹤并從服務(wù)器中刪除其定義。 |
說(shuō)明 在關(guān)閉跟蹤前首先必須先停止它。
下表描述在存儲(chǔ)過(guò)程完成之后用戶可能獲得的代碼值。
返回代碼 | 描述 |
---|---|
0 | 沒(méi)有錯(cuò)誤。 |
1 | 未知錯(cuò)誤。 |
8 | 指定的狀態(tài)無(wú)效。 |
9 | 指定的跟蹤句柄無(wú)效。 |
13 | 內(nèi)存不足。在沒(méi)有足夠內(nèi)存執(zhí)行指定的操作時(shí)返回此代碼。 |
如果跟蹤已經(jīng)處于指定的狀態(tài),則 SQL Server 將返回 0。
sp_trace_setstatus 是 Microsoft SQL Server 2000 存儲(chǔ)過(guò)程,它執(zhí)行以前由 SQL Server 早期版本中使用的 xp_trace_* 擴(kuò)展存儲(chǔ)過(guò)程執(zhí)行的許多操作。使用 sp_trace_setstatus 而不使用:
嚴(yán)格地鍵入所有 SQL 跟蹤存儲(chǔ)過(guò)程 (sp_trace_xx) 的參數(shù)。如果沒(méi)有用正確的輸入?yún)?shù)數(shù)據(jù)類型(與在參數(shù)說(shuō)明中指定的相同)調(diào)用這些參數(shù),則存儲(chǔ)過(guò)程將返回錯(cuò)誤。
只有 sysadmin 固定服務(wù)器角色成員才能執(zhí)行 sp_trace_setstatus。