DBCC TRACEON (Transact-SQL)
適用於:SQL Server Azure SQL 受控執行個體
啟用指定的追蹤旗標。
語法
DBCC TRACEON ( trace# [ , ...n ] [ , -1 ] ) [ WITH NO_INFOMSGS ]
引數
trace#
要開啟的追蹤旗標編號。
n
一個預留位置,表示可以指定多個追蹤旗標。
-1
在指定的追蹤旗標上進行全域切換。 Azure SQL 受控執行個體中需要這個引數。
WITH NO_INFOMSGS
隱藏所有參考訊息。
備註
在實際伺服器上,為了防止無法預期的行為發生,我們建議您使用下列一種方法,僅在伺服器範圍啟用追蹤旗標:
- 使用
sqlservr.exe
的-T
命令列啟動選項。 這是建議採用的最佳做法,因為它可以確定所有的陳述式在執行時,都啟用追蹤旗標。 其中包括啟動指令碼中的命令。 如需詳細資訊,請參閱 sqlservr Application。 - 只有在使用者或應用程式目前不在系統上並行執行陳述式時,才使用
DBCC TRACEON
。
追蹤旗標用來控制 SQL Server 的運作方式來自訂特定性質。 追蹤旗標在啟用之後,會在伺服器中保持啟用狀態,直到您執行 DBCC TRACEOFF
陳述式將其停用為止。 在 SQL Server 中有兩種類型的追蹤旗標:工作階段和全域。 工作階段追蹤旗標用於某個連接,而且只會在該連接顯示出來。 全域追蹤旗標是設在伺服器層級,只要是該伺服器上的連接,都看得到它們。 若要判定追蹤旗標的狀態,請使用 DBCC TRACESTATUS
。 若要停用追蹤旗標,請使用 DBCC TRACEOFF
。
在開啟影響查詢計劃的追蹤旗標之後,執行 DBCC FREEPROCCACHE;
以使用影響計畫的新行為重新編譯快取的計劃。
Azure SQL 受控執行個體支援下列全域追蹤旗標:460、2301、2389、2390、2453、2467、7471、8207、9389、10316 及 11024。
結果集
DBCC TRACEON
會傳回下列訊息:
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
權限
需要 系統管理員 (sysadmin) 固定伺服器角色中的成員資格。
範例
下列範例會在追蹤旗標 3205 上進行切換,來停用磁帶驅動程式的硬體壓縮。 這個旗標只會在目前連接進行切換。
DBCC TRACEON (3205);
GO
下列範例會在追蹤旗標 3205 上進行全域切換。
DBCC TRACEON (3205, -1);
GO
下列範例會在追蹤旗標 3205 和 260 上進行全域切換。
DBCC TRACEON (3205, 260, -1);
GO