標籤:blackbox 黑盒跟蹤 trace sqldiag
SQL Server 黑盒跟蹤 -- 進一步瞭解sqldiag
SQL Server提供了一個特別的命令工具sqldiag,協助收集用於定位SQL Server問題的資訊。你可以在其它SQL Server可執行命令所在目錄相同的binn目錄下找到該檔案。預設目錄是\Program Files\Microsoft SQL Server\MSSQL\Binn。當SQL Server正在運行時,你從命令提示字元執行sqldiag,這個工具收集了大量的作業系統,硬體設定,SQL Server配置等資訊。Sqldiag寫到一個叫做sqldiag.txt的輸出檔案(預設路徑是SQL Server安裝目錄的\log目錄下)。當你啟用了黑盒跟蹤,然後執行sqldiag拷貝黑盒檔案到sqldiag.txt檔案相同的目錄下。
SQL Server的sqldiag工具提供了一些參數控制收集特定的資訊。完整資訊可參閱BOL,但-X和-O outeput_file參數與此有關。
-X參數,讓sqlidag不要包含錯誤記錄檔到sqldiag.txt檔案。預設情況下,SQL Server記錄的錯誤記錄檔檔案重啟僅當SQL Server重啟時,錯誤記錄檔檔案增長直到你下次停止並重啟SQL Server服務。預設情況下,SQL Server維護著六個錯誤記錄檔檔案,所以,當你啟動SQL Server服務,之前的錯誤被拷貝到errorlog.1,而之前的errorlog.1被拷貝到errorlog.2,如此類推。如果你收集資訊給你支援供應商,包含一些之前的錯誤記錄檔的內容可能是一件好事。但是只是自己定位問題時,我發現採集所有的錯誤記錄檔資訊使得sqldiag.txt檔案太複雜。我一般調用sqldiag用-X選項。
-O output_file參數讓你自己指定一個sqldiag的輸出檔案名而不是sqldiag.txt。如果你指定了-O選項,sqldiag重新命令blackbox.trc和blackbox_1.trc檔案為你指定的output_file名稱。例如,你指定output_file為diagreport.txt,sqldiag重命令這個追蹤檔案diagreport.trc和diagreport_1.trc,相應的。
你的執行sqldiag時,即使SQL Server沒有運行,你啟用的黑盒檔案仍然可用。當SQL Server因為錯誤而崩潰時,這是有用的;黑盒跟蹤包含在失敗之前查詢啟動並執行大量記錄。在重啟你的伺服器之前運行sqldiag能給你為什麼服務停止啟動並執行線索。
詳細有關sqldiag的資料,請參見MSDN:http://msdn.microsoft.com/library/ms162833
本文出自 “滴水石穿” 部落格,請務必保留此出處http://ultrasql.blog.51cto.com/9591438/1583070
SQL Server 黑盒跟蹤 -- 進一步瞭解sqldiag