SQL SERVER 跟蹤標記總結
這是從網上其他地方整理的,雖然有些我還不能用到也沒有理解,但是為了以後自己查閱方便,先整理起
控制跟蹤標記
方法一:透過以下三個命令
- DBCC TRACEON(2203,-1) --開啟跟蹤
- DBCC TRACEOFF(2203,1) --關閉跟蹤
- DBCC TRACESTATUS --檢視跟蹤標記的狀態
其中,TRACEON和TRACEOFF第二個引數代表啟用標誌的範圍,1是Session Scope,-1是Global Scope,如果不指定該值,則保持預設值Session Scope。
另外,如果你希望在每次SQL Server服務啟動時透過DBCC命令控制某些Flag,則使用,這個儲存過程來指定,sp_procoption儲存過程會在SQL Server伺服器啟動時自動執行。
EXEC sp_procoption @ProcName = '
最後請注意,不是所有的跟蹤標記都可以用DBCC命令啟動,比如Flag 835就只能透過啟動引數指定。
方法二:透過在SQL Server配置管理器中指定
這種方式是透過在資料庫引擎啟動項里加啟動引數設定,只有Global Scope。格式為-T#跟蹤標記1;T跟蹤標記2;T跟蹤標記3。
方法三:透過登錄檔啟動
該方法跟方法二類似。
一些常用的跟蹤標記有
--1204 傳回參與死鎖的SQL SERVER相關程式之執行資料,1204是以文字格式進行
--1222 傳回參與死鎖的SQL SERVER相關程式之執行資料,1204是以XML格式儲存
--1205
--1206
--3605 要求DBCC的輸出放到SQL server ERROR LOG
--3604 將trace結果輸出到前端
對於資料庫死鎖,通常可以透過TRACE FLAG 1204、1205、1206,檢查ERRORLOG裡面的輸出,和分析SQLTRACE的執行上下文判斷死鎖問題的來由。執行下面的話可以把死鎖記錄到 Errorlog中:dbcc traceon (1204, 3605, -1)。
--1211,1224 兩種方式都是禁用鎖升級。但行為有所差別1211是無論何時都不會鎖升級,而1224在記憶體壓力大的時候會啟用鎖升級,從而避免了out-of-locks錯誤。當兩個跟蹤標記都啟用是,1211的優先順序更高。
--1200 返回加鎖資訊的整個過程,是學習加鎖過程很牛逼的標誌
DBCC TRACEON(1200,-1)
DBCC TRACEON(3604)
DBCC TRACESTATUS
--1252 顯示動DBCC CHECKFILEGROUP,DBCC CHECKTABLE。這意味著這幾個命令只能單執行緒執行,這可能會需要更多的時間,但是在某些特定情況下還是有些用處。
--610 減少日誌產生量
--3226 防止日誌記錄成功的備份。如果日誌備份過於頻繁的話,會產生大量錯誤日誌,啟用該跟蹤標記可以使得日誌備份不再被記錄到錯誤日誌。
--4199 所有KB補丁對於查詢分析器行為的修改都生效,這個命令比較危險,可能掃稱效能的下降
--260 列印關於擴充套件儲存過程動態選擇鎖的相關資訊
--834 使用 Microsoft Windows 大頁面緩衝池分配。如果伺服器是SQL Server專用伺服器的話,值得開啟該跟蹤標記。
--835 允許SQL Server 2005和2008標準版使用"鎖定記憶體頁",和在組策略中設定的結果大同小異,但是允許在標準版中使用.
--1118 tempdb分配整個區,而不是混合區,減少SGAM頁爭搶。--2528 禁用並行執行DBCC CHECKDB, 態連結庫的版本資訊
--444 停止auto-parameterization
--3205 預設情況下,如果磁帶驅動器支援硬體壓縮,則 DUMP 或 BACKUP 語句會使用該功能。
-- 利用此跟蹤標記,可以禁用磁帶驅動程式的硬體壓縮。
-- 本項在要與不支援壓縮的其它站點或磁帶驅動器交換磁帶時有用。
--8602 停止索引提示功能--8722 停止join group等最最佳化提示功能
--8755 停止鎖提示功能
--8780 停止最最佳化超時配置,強制做完整的最最佳化動作
--818 檢查寫一致性,蹤標誌 818 啟用了一個記憶體中的環形緩衝區,用於跟蹤由執行 SQL Server 的計算機執行的最後 2,048 個成功寫操作(不包括排序和工作檔案 I/O)。發生 605、823 或 3448 之類的錯誤時,將傳入緩衝區的日誌序列號 (LSN) 值與最新寫入列表進行比較。如果在讀操作期間檢索到的 LSN 比在寫操作期間指定的更舊,就會在 SQL Server 錯誤日誌中記錄一條新的錯誤資訊。大部分 SQL Server 寫操作以檢查點或惰性寫入形式出現。惰性寫入是一項使用非同步 I/O 操作的後臺任務。環形緩衝區的實現是輕量的,因此對系統效能的影響可以忽略。
--1806 禁用即時檔案初始化,所有的磁碟空間請求全部使用填0初始化,可能造成在空間增長時產生阻塞。
--3502 在日誌中顯示有關checkpoint的相關資訊。
--3505 不允許自動進行checkpoint,checkpoint只能手動進行,是非常危險的一個命令
--806 在讀取過程中對頁檢查邏輯一致性,在錯誤日誌中就可以看到類似下面的資訊,該跟蹤標記會極大的降低效能!!!
2004-06-25 11:29:04.11 spid51 錯誤: 823,嚴重性: 24 日狀態: 2
2004-06-25 11:29:04.11 spid51 I/O 錯誤 (稽核失敗) 在讀取過程中檢測到的偏移量主題 SQL Server\MSSQL\data\pubs.mdf e:\Program 檔案中的 0x000000000b0000.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27026361/viewspace-775503/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer進行SQL跟蹤SQLServer
- Oracle資料庫跟蹤SQLOracle資料庫SQL
- SQL Server自增列跳號總結SQLServer
- 目標跟蹤演算法概述演算法
- git的跟蹤分支和遠端跟蹤分支學習筆記Git筆記
- 目標跟蹤演算法分類演算法
- opencv的目標跟蹤演算法OpenCV演算法
- CVPR 2018 目標跟蹤相關論文
- 有效資源跟蹤的8個指標指標
- 多目標跟蹤全解析,全網最全
- SQL Server 索引結構SQLServer索引
- Sql Server關於indexed view索引檢視的總結SQLServerIndexView索引
- Oracle執行語句跟蹤 使用sql trace實現語句追蹤OracleSQL
- SQL-Server筆記SQLServer筆記
- [AI開發]目標跟蹤之速度計算AI
- [20200326]dbms_monitor跟蹤與SQL語句分析.txtSQL
- 如何收集Oracle程式中的SQL跟蹤資訊KUOracleSQL
- SQL Server 遷移至MySQL 關鍵步驟的梳理總結ServerMySql
- SQL Server中GROUP BY(連結)SQLServer
- 使用 SpanMetrics Connector 將 OpenTelemetry 跟蹤轉換為指標指標
- Java呼叫鏈跟蹤關鍵技術(四)SQL監控JavaSQL
- JVM中的本機記憶體跟蹤JVM記憶體
- celery筆記一之celery介紹、啟動和執行結果跟蹤筆記
- SQL SERVER 資料庫被標記為“可疑”的解決辦法SQLServer資料庫
- MYSQL sql執行過程的一些跟蹤分析(一)MySql
- 視覺目標跟蹤漫談:從原理到應用視覺
- 基於Sql server資料庫的四種分頁方式總結SQLServer資料庫
- sp_trace_setfilter sqlserver篩選跟蹤或跟蹤過濾FilterSQLServer
- 主力跟蹤戰法
- 反跟蹤技術
- 如何在非同步結果返回時進行跟蹤非同步
- 記一次SQL Server刪除SQL調優SQLServer
- [20200417]跟蹤特定sql語句以及v$open_cursor檢視.txtSQL
- MYSQL sql執行過程的一些跟蹤分析(二.mysql優化器追蹤分析)MySql優化
- SQL查詢總結SQL
- 中移智庫:2019-2020年騰訊發展跟蹤總結報告(附下載)
- [20190402]跟蹤vmstat.txt
- Linux 跟蹤器之選Linux
- 會話跟蹤技術會話