標籤:黑盒跟蹤 blackbox trace sqldiag
SQL Server 黑盒跟蹤 -- 如何在生產環境配置?
如果遇到間歇性故障,為了充分利用黑盒跟蹤,就要確保當伺服器運行時它也一直出於運行狀態(包括計劃中的或計劃外重啟之後)。為達到這個要求,可以將黑盒跟蹤設定為在SQL Server啟動時自動啟動。首先,將追蹤定義封裝在主要資料庫的一個預存程序中:
USE masterGOCREATE PROCEDURE StartBlackBoxTraceASBEGINDECLARE @TraceId intDECLARE @maxfilesize bigintSET @maxfilesize = 25EXEC sp_trace_create@TraceId OUTPUT,@options = 8,@tracefile = NULL,@maxfilesize = @maxfilesizeEXEC sp_trace_setstatus @TraceId, 1ENDGO
然後,將這個過程設定為SQL Server服務啟動時自動啟動:
EXEC sp_procoption‘StartBlackBoxTrace‘, ‘STARTUP‘, ‘ON‘
如果發生了崩潰事件,可以分析收集到的資料以確定崩潰當時有哪些預存程序或查詢正在運行,並(很有希望)可以查出哪些出了問題。
停止並關閉跟蹤ID為1的跟蹤,可以執行以下指令碼:
EXEC sp_trace_setstatus 1, 0 EXEC sp_trace_setstatus 1, 2
設定狀態為0是停止跟蹤,重新設定狀態為1就是重啟跟蹤。你可以設定狀態為2去關閉跟蹤,但你必須已經停止了它。你不能重啟一個關閉的跟蹤,你必須完全重新建立。當你關閉了跟蹤的時候,這個blackbox.trc檔案可用。接著運行sqldiag拷貝完整的blackbox.trc檔案到\log目錄重新命名為sqldiag.trc。
本文出自 “滴水石穿” 部落格,請務必保留此出處http://ultrasql.blog.51cto.com/9591438/1583065
SQL Server 黑盒跟蹤 -- 如何在生產環境配置?