跟蹤標記 相關使用

2021-09-20 13:55:26 字數 3093 閱讀 1357

啟用指定的跟蹤標記。

dbcc traceon ( trace# [ ,...n ][ , -1 ] ) [ with no_infomsgs ]

禁用指定的跟蹤標記。

dbcc traceoff ( trace# [ ,...n ] [ , -1 ] ) [ with no_infomsgs ]

顯示跟蹤標誌的狀態。

dbcc tracestatus ( [ [ trace# [ ,...n ] ] [ , ] [ -1 ] ] ) [ with no_infomsgs ]

跟蹤標誌用於臨時設定特定伺服器的特徵或關閉特定行為。例如,如果啟動 sql server 的乙個例項時設定了跟蹤標誌 3205,將禁用磁帶機的硬體壓縮。跟蹤標誌經常用於診斷效能問題,或除錯儲存過程或複雜的計算機系統。

下表列出了 sql server 中可用的跟蹤標誌,並進行了說明。

注意

sql server 的未來版本可能不支援跟蹤標誌行為。

跟蹤標誌

說明260

列印有關擴充套件儲存過程動態鏈結庫 (dll) 的版本控制資訊。有關__getxpversion()的詳細資訊,請參閱建立擴充套件儲存過程。

作用域:全域性或會話

1204

返回參與死鎖的鎖的資源和型別,以及受影響的當前命令。

作用域:僅全域性

1211

基於記憶體不足或基於鎖數禁用鎖公升級。sql server 資料庫引擎不會將行鎖或頁鎖公升級到表鎖。

使用此跟蹤標誌可生成過多的鎖數目。這樣會降低資料庫引擎的效能,或因為記憶體不足而導致 1204 錯誤(無法分配鎖資源)。有關詳細資訊,請參閱鎖公升級(資料庫引擎)。

如果同時設定了跟蹤標誌 1211 和 1224,則 1211 優先於 1224。但是,由於在所有情況下(甚至在記憶體緊張的情況下)跟蹤標誌 1211 都禁止公升級,因此建議使用 1224。這有助於在使用多個鎖時避免「鎖不足」錯誤。

作用域:全域性或會話

1222

以不符合任何 xsd 架構的 xml 格式,返回參與死鎖的鎖的資源和型別,以及受影響的當前命令。

作用域:僅全域性

1224

基於鎖數禁用鎖公升級。但是,記憶體不足仍可啟用鎖公升級。如果鎖物件使用的記憶體量超出下列條件之一,資料庫引擎會將行鎖或頁鎖公升級為表(或分割槽)鎖:

如果同時設定了跟蹤標誌 1211 和 1224,則 1211 優先於 1224。但是,由於在所有情況下(甚至在記憶體緊張的情況下)跟蹤標誌 1211 都禁止公升級,因此建議使用 1224。這有助於在使用多個鎖時避免「鎖不足」錯誤。

注意

也可以使用 alter table 語句的 lock_escalation 選項控制到表級或 hobt 級粒度的鎖公升級。

作用域:全域性或會話

2528

禁用 dbcc checkdb、dbcc checkfilegroup 和 dbcc checktable 執行的物件並行檢查。預設情況下,並行度由查詢處理器自動確定。最大並行度的配置就像並行查詢的最大並行度一樣。有關詳細資訊,請參閱 max degree of parallelism 選項。

通常應使並行 dbcc 保持啟用狀態。對於 dbcc checkdb,查詢處理器重新求值,並對檢查的每個表或每批表自動調整並行度。有時,檢查可能在伺服器幾乎處於空閒狀態時啟動。如果管理員知道在檢查完成前負載將增加,則可能需要手動減小並行度或禁用並行度。

禁用對 dbcc 的並行檢查可能導致 dbcc 的完成時間變長,如果執行 dbcc 時啟用了 tablock 功能並關閉了並行度,則表可能被鎖定更長時間。

作用域:全域性或會話

3205

預設情況下,如果磁帶機支援硬體壓縮,則 dump 或 backup 語句會使用該功能。利用此跟蹤標誌,可以禁用磁帶機的硬體壓縮。此選項在您需要與不支援壓縮的其他站點或磁帶機交換磁帶時很有用。

作用域:全域性或會話

3226

預設情況下,每個成功的備份操作都會在 sql server 錯誤日誌和系統事件日誌中新增乙個條目。如果非常頻繁地建立日誌備份,這些成功訊息會迅速累積,從而產生乙個巨大的錯誤日誌,使查詢其他訊息變得非常困難。

使用這一跟蹤標誌,可以取消這些日誌條目。如果您頻繁地執行日誌備份,並且沒有任何指令碼依賴於這些條目,則這種做法非常有用。

3608

禁止 sql server 自動啟動和恢復除master資料庫之外的任何資料庫。在訪問資料庫時將啟動並恢復該資料庫。可能無法執行某些功能,如快照隔離和讀提交快照。用於移動系統資料庫和移動使用者資料庫。請不要在正常操作中使用。

3625

限制錯誤訊息中返回的資訊量。有關詳細資訊,請參閱元資料可見性配置。

作用域:僅全域性

4199

控制以前基於多個跟蹤標誌進行的多個查詢優化器更改。有關詳細資訊,請參閱此 microsoft 支援文章。

作用域:全域性或會話

4616

使應用程式角色可以看到伺服器級元資料。在 sql server 中,應用程式角色無法訪問自身資料庫以外的元資料,因為應用程式角色與伺服器級主體不相關聯。這是對早期版本的 sql server 的行為的更改。設定此全域性標誌將禁用新的限制,並允許應用程式角色訪問伺服器級元資料。

作用域:僅全域性

6527

禁止在 clr 整合中第一次發生記憶體不足異常時生成記憶體轉儲。預設情況下,sql server 在 clr 中第一次發生記憶體不足異常時會生成小記憶體轉儲。該跟蹤標誌的行為如下所示:

作用域:僅全域性

7806

在 sql server express 上啟用專用管理員連線 (dac)。預設情況下,在 sql server express 上不保留 dac 資源。有關詳細資訊,請參閱使用專用管理員連線。

作用域:僅全域性

如何使用跟蹤標記 1204

如何使用跟蹤標記 1204 測試環境 use tempdb go create table ta id int insert ta select 1 create table tb id int insert tb select 1 go 開啟死鎖記錄 dbcc traceon 1204,3605,...

如何使用跟蹤標記 1204

如何使用跟蹤標記 1204 測試環境 use tempdb go create table ta id int insert ta select 1 create table tb id int insert tb select 1 go 開啟死鎖記錄 dbcc traceon 1204,3605,...

如何使用跟蹤標記 1204

如何使用跟蹤標記 1204 測試環境 usetempdb go createtableta idint inserttaselect1 createtabletb idint inserttbselect1 go 開啟死鎖記錄 dbcctraceon 1204,3605,1 go 產生死鎖 查詢視窗...