工具下載:
SQL Nexus Tool
http://sqlnexus.codeplex.com/releases/view/119562
下載後,你會發現有二個主要的資料夾,分別是 DataCollectors 與 SqlNexus4.0.0.64兩個資料夾,DataCollectors主要進行收集,而SqlNexus則是進行資料分析用,首先我們就先進行資料收集的動作。
收集主機資訊:
主機名稱:SQL2012-MAIN
版本:SQL Server 2012
是否為Cluster:否
資料收集:
在DataCollectors目錄中有從SQL 2005 ~ 2014中各個版本的收集腳本,由於我們目前要收集的版本為SQL Server 2012,所以我們先將DataCollectors目錄中的PerfStatsScript2012.zip的壓縮檔解壓縮並放置到SQL Server主機上,然後開啟一個DOS視窗後, 輸入 "StartSQLDiagTrace2012.cmd" 後即可進行收集,如下圖所示。
重點提示:
1、路徑中不要包含有中文名稱。
2、路徑最好不要過長。
3、收集的過程中會稍為的影響系統的運作,可能約5~10%左右,所以進行時請特別注意。
4、收集時最好在問題發生的區段間進行,且最好收集30分鐘。
5、收集完成後,會將檔案輸出在相同目錄中名為 "SQLDiagOutput" 的資料夾。
6、如果要進行結束時,請直接按Ctrl + C即可進行結束。
資料分析:
在使用SQLNexus的程式進行分析前,請先安裝並確認下列的項目是否符合。
先行需求項目:
1、.NET framework 4.0 is required.
2、If you are on SQL 2008 or 2008 R2, you must install report viewer control 2010. If you are on SQL Server 2012, you can skip this step
3、You must install a ReportViewer.exe hotfix. Otherwise, drill-through link won't work.
4、You must install RML Utilities.
接下來我們要將收集到的資料匯入到資料庫後,並透過SQL Nexus進行分析,首先我們先進入SqlNexus的目錄中,然後請一定要以 "Run as Administrator" 的方式啟動sqlnexus.exe的程式。
啟動程式後,需選擇你的資料要匯入到那一台的資料庫上,匯入的資料庫與收集的資料庫可以是不同台。
如果你遇到下列的錯誤訊息時,代表你沒有安裝RML Utilities.的套件,請再執行一次並重啟程式。
錯誤訊息:
[sqlnexus.fmNexus.fmNexus.Load] Unable to locate readtrace. Nexus wan't be able to load or analyze profiler trace data.
匯入完成後即會如同下列的畫面。
匯入後,請選擇左上角的 "SQL Perf Main" ,即可發現此工具已完成資料剖析的動作,接下來我們來逐一看看所有的功能。
再點選 "Unique Batches" 後,你可以看到主要有四個區塊,分別是CPU、執行時間、讀取、寫入的統計,而下方也可以看到分別是排行的SQL語法。
Blocking and Resource Wait Statistics的分析。
SQL Server瓶頸分析
最後在匯入的過程中可能會有某個檔案造成匯入失敗,你可以將此檔案先行移走,即可匯入完成,此時這個檔案你就必須透過人工的方式進行分析,我將重要的檔案說明整理如下,再請參考。
檔案介紹:
1、SQL Server Log、系統資訊、效能收集
xxx__sp_sqldiag_Shutdown.OUT
xxx__SQL_2012_Perf_Stats_Snapshot_Shutdown.OUT
xxx__SQL_2012_Perf_Stats_Snapshot_Startup.OUT
xxx__SQL_2012_Perf_Stats_Startup.OUT
2、事件檢示記錄
xxx_application_Shutdown.CSV
xxx_security_Shutdown.CSV
xxx_system_Shutdown.CSV
3、SQL語法收集
xxx_SQLDIAG__sp_trace.trc
xxx_SQLDIAG__sp_trace_blk.trc
4、OS系統效能收集
SQLDIAG.BLG
5、程式收集過程記錄
Internal -> ##console.log
上述中xxx代表你的主機名稱
關鍵字:SQL Server、SQL Nexus、Data Collector、Performance Tuning
沒有留言:
張貼留言