|
監控前言
上一節我們提到了MSSQL的基于SQL Event的監控,但是有些時候我們需要更加詳細、適用于調優排錯的監控。SQL Server內部運行的可見性是的查詢調整、優化和綜合排查成為可能!這一節主要和大家說說SQL Server跟蹤(SQL Server Profile)的一些監控方式和途徑。
使用場景
記得某次給一家公司調優的時候,負責人發給我一堆業務的T-SQL腳本,我面對海量腳本還是從容,雖然不了解內部復雜的業務,但是我們得專注問題的關鍵 慢,我們根據查詢的慢把他們篩選出來,一一調式優化,不就迅速解決問題嗎?三天后,負責人含淚握著我的手,哥們辛苦了,查詢響應得到了質的改善。
跟蹤提供者
SQL Server 為我們兩者提供跟蹤的方式:一種是一個物理文件(可保存在本機或者UNC網絡路徑),一種是行集。對于后者大家應該比較熟悉
這個工具在 SSMS 的 工具 SQL Profile
詳細的我暫時不介紹,先說說兩者的區別和類同點 DIFFAndSame(行集,文件提供者)。
- 兩者都是用類似Buffer來保存當前的事件數據,很明顯是為了減少IO的壓力,這樣可以不阻塞和盡量不遺漏 事件數據,當Buffer 到達一定量時候可能才會Flush到磁盤或者發送到網絡的終端(客戶端)顯示監控行集。
- 物理文件保存監控結果的方式的重要保證是不能遺漏任何事件,一旦IO降速的時候,可能會影響到整個T-SQL的執行情況。
SELECT * FROM sys.dm_os_wait_stats WHERE wait_type IN ('SQLTRACE_LOCK','IO_COMPLETION');
it知識庫:SQL Server監控系列之調優排錯,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。