標籤:trace 預設跟蹤 fn_trace_gettable profiler
SQL Server
預設跟蹤 -- 介紹
什麼是預設跟蹤?
預設的SQL Server預定義跟蹤,是SQL Server中預設開啟的最輕量級跟蹤,由5個追蹤檔案(.trc)組成,每個檔案的最大值為20MB,儲存在SQL Server log目錄。
650) this.width=650;" title="clip_image002" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;" alt="clip_image002" src="http://s3.51cto.com/wyfs02/M00/53/C4/wKiom1RvE8LihOLlAAC-uN5J-PY256.jpg" height="171" border="0" />
這些檔案用作臨時儲存捕獲事件的緩衝。儲存在緩衝中的事件一段事件後會被刪除。當SQL Server重啟後,或者噹噹前使用的檔案達到最大值時,最舊的檔案被刪除,在忙碌的生產環境,這樣的迴圈緩衝會在幾分鐘內被迴圈覆蓋。
注意:
後續版本的 Microsoft SQL Server 將刪除該功能。請避免在新的開發工作中使用該功能,並著手修改當前還在使用該功能的應用程式。 請改用擴充事件。
預設跟蹤的作用是什嗎?
如何知道誰刪除了表?如何跟蹤到自動成長事件?如何知道記憶體使用量什麼時候變化?安全設定是否改變?
預設跟蹤可確保資料庫管理員在問題首次出現時即具有診斷該問題所需的日誌資料,從而為資料庫管理員提供了故障排除協助。
如何知道預設跟蹤是否在運行?
SELECT * FROM sys.configurations WHERE configuration_id = 1568
650) this.width=650;" title="clip_image004" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;" alt="clip_image004" src="http://s3.51cto.com/wyfs02/M01/53/C4/wKiom1RvE8OgIGL4AABJcidKeac521.jpg" height="51" border="0" />
怎麼開啟預設跟蹤?
使用 default trace enabled 伺服器配置選項可啟用或禁用預設追蹤記錄檔檔案。 預設跟蹤功能提供了豐富持久的活動紀錄,並主要根據配置選項變更。
sp_configure ‘show advanced options‘, 1;GORECONFIGURE;GOsp_configure ‘default trace enabled‘, 1;GORECONFIGURE;GO
如果將 default trace enabled 選項設定為 1,可啟用“預設跟蹤”。 此選項的預設設定為 1 (ON)。 值為 0 時將關閉跟蹤。
default trace enabled 選項是一個進階選項。 如果使用 sp_configure 系統預存程序來更改該設定,則僅當 show advanced options 設定為 1 時才能更改 default trace enabled 選項。 該設定將立即生效,無需重新啟動伺服器。
可以通過
EXEC sp_configure ‘default trace enabled‘,0;RECONFIGURE WITH OVERRIDE;
來關閉預設跟蹤。
如何查看預設追蹤檔案?
SELECT * FROM ::fn_trace_getinfo(default)
650) this.width=650;" title="clip_image005" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;" alt="clip_image005" src="http://s3.51cto.com/wyfs02/M02/53/C4/wKiom1RvE8OR2Hu2AAClMFcncc4172.jpg" height="127" border="0" />
解釋一下跟蹤屬性:
Column name |
Data type |
Description |
traceId |
int |
ID of the trace. |
property |
int |
Property of the trace: 1= Trace options. For more information, see @options in sp_trace_create (Transact-SQL). 2 = File name 3 = Max size 4 = Stop time 5 = Current trace status |
value |
sql_variant |
Information about the property of the trace specified. |
在 SQL Server 的典型安裝中,預設跟蹤啟用並因而成為 TraceID 1。 如果在安裝和建立其他跟蹤後啟用,該 TraceID 可以變成更大的數字。
SELECT * FROM sys.traces;
650) this.width=650;" title="clip_image007" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;" alt="clip_image007" src="http://s3.51cto.com/wyfs02/M00/53/C2/wKioL1RvFD6ixXwTAAA_DqIGeWs079.jpg" height="48" border="0" />
預設追蹤檔案記錄了什嗎?
預設追蹤記錄檔可以通過 SQL Server Profiler 開啟和檢查,或者通過 Transact-SQL 使用 fn_trace_gettable 系統函數來查詢。
SQL Server Profiler 可以像開啟正常跟蹤輸出檔案一樣開啟預設追蹤記錄檔檔案。 預設情況下,預設追蹤記錄檔以變換追蹤檔案的形式儲存在 \MSSQL\LOG 目錄中。 預設追蹤記錄檔檔案的基本檔案名稱是 log.trc。
當我們用Profiler開啟預設追蹤檔案,從屬性中可以看到有7類捕獲的事件:
? Database
? Errors and Warnings
? Full-Text
? Objects
? Performance
? Security Audit
? Server
並且,每一個子類事件的所有可選列為選擇狀態。
650) this.width=650;" title="clip_image009" style="border-top:0px;border-right:0px;border-bottom:0px;border-left:0px;" alt="clip_image009" src="http://s3.51cto.com/wyfs02/M01/53/C2/wKioL1RvFD_C9zPfAAEWgsBPlYA778.jpg" height="333" border="0" />
以下語句將開啟預設位置中的預設追蹤記錄檔:
SELECT *FROM fn_trace_gettable(‘D:\SQL-DATA\MSSQL10_50.MSSQLSERVER\MSSQL\Log\log_1019.trc‘, default);GO
本文出自 “滴水石穿” 部落格,請務必保留此出處http://ultrasql.blog.51cto.com/9591438/1581007
SQL Server 預設跟蹤 -- 介紹