1. 程式人生 > >SqlServer效能監控和優化總結

SqlServer效能監控和優化總結

如何監視和檢視sql server的效能

http://jingyan.baidu.com/article/a378c9609af34eb32828303a.html


開啟sql server studio management


開啟"工具"-"sql server profiler"


點選連線


點選執行


可以看到捕捉到的一些訪問資料庫的事件,其中有讀寫,點用cpu,持續時間等資訊可以參考


點選某個事件,可以檢視具體執行了什麼sql指令碼,進一步分析相關邏輯。
========

利用sql server監控資料庫訪問

http://jingyan.baidu.com/article/f3e34a12a92bc3f5eb6535ba.html


本例分享使用sql server中的profiler監控資料庫的操作情況。


1
開啟sql server profiler;
2
新建跟蹤;
3
連線資料庫伺服器並執行跟蹤程式;
4
只要保持程式是執行狀態,就可以即時的監測到資料庫的操作情況了。如圖所示,是本例示範時資料庫


的訪問狀況。
========

sql server 在佔用伺服器記憶體居高不下怎麼辦



簡介:本人在開發sql server資料庫專案的過程中發現了這麼一個問題,通過360安全衛士的浮動顯示圖


標表示 sql server 2005 居然像oracle一樣佔用了80%的系統資源,消耗資源居高不下,怎麼回事啊?


問了一起工作的同事,他們給出了下面的幾個建議:


1、做個軟體自動給sql server 2005資料庫強制釋放記憶體;
注:這個是可以的,但是這樣做很不合理;一方面伺服器上的web系統正在執行,如果此時我們把系統的


記憶體釋放掉了這樣肯定會引起網頁OA系統的異常。
2、給sql server 2005 做個任務來釋放記憶體;這個好像是可以的!但是這個也是很麻煩的事情。
很明顯上面的方法都不是最理想的。


下面就是正確處理由於sql server 2005引起的資料庫記憶體居高不下的辦法:
首先我們需要登入 sql server 2005的資源管理器
滑鼠右擊我們sql server 2005的伺服器,然後選擇“屬性”選項
找到指定資料庫伺服器的屬性中的“記憶體”屬性,並點選
接下來就是配置資料庫記憶體了,可以參考我本地的配置如下圖:
最後點選“確定”按鈕就可以了!
========

怎麼設定sql2008資料庫最大伺服器記憶體

http://jingyan.baidu.com/article/ceb9fb10b415bb8cac2ba078.html


通過設定SQL Server 2008 R2伺服器中的最大伺服器記憶體,可以解決使用資料庫時佔用系統記憶體過高的


問題。那麼我們該怎麼操作呢


1.選擇“開始 > 所有程式 > Microsoft SQL Server 2008 R2 > SQL Server Management Studio”。系


統顯示“連線到伺服器”介面。
2.輸入各項資料,單擊連線
3.系統顯示“物件資源管理器”介面
4.上圖單擊右鍵,在彈出的快捷選單中選擇“屬性”。
5.在左側導航欄中選擇“記憶體”,將右側“最大伺服器記憶體”的值設定為實體記憶體的60%,本例以8G記憶體


為例
6.最後單擊確定,設定完成
怎麼設定sql2008資料庫最大伺服器記憶體
END
========

對SQLSERVER進行效能監控

http://www.cnblogs.com/lyhabc/archive/2013/07/13/3187581.html


在上一篇文章《SQLSERVER效能監控級別步驟》裡說到效能監控的步驟中有一步涉及到建立效能基線,但


是沒有說到有哪些計數器
可以用來進行監控的,這篇文章結合《企業級平臺管理實踐》的書本說一下監控SQLSERVER有哪些計數器


可以用到的


3、建立效能基線
 當確定了效能監控中所涉及的資源、負載和目標後,開始進行監控,並建立效能基線與當前伺服器效能


進行比較。
效能基線是一個保證系統正常操作效能範圍值,達到或超過這個範圍,系統性能可能會顯著下降。
應該對接近或超過效能基線的數字做進一步調查找出原因監控的週期是一段時間,而不是一兩天。
其中應該包括資料庫活動的峰值時間和非峰值時間,資料查詢和批處理命令的響應時間、資料庫備份和


還原所需時間
建立伺服器效能基線後,將基線統計與當前伺服器效能進行比較。對高於或遠低於基線的數字需要做進


一步調查。
他們可能表明有需要調整或重新配置的區域。例如,執行一組查詢的時間增加,檢查這些查詢以確定能


否重新編寫他們,
或者是否新增統計資訊或索引


介紹:


效能監視器 Performance Monitor


效能監視器是Windows的一個工具,在系統管理工具組裡。預設裡面就有很多Windows層面的效能計數器


,可以監視系統的執行。


直接執行"perfmon",也可以開啟他。這裡以 WindowsXP/2003/2008的效能監視器為例。


Windows2008R2和Windows7的效能監視器介面有了比較大的變化,功能也有擴充套件,更加好用。同時也完全


向前相容。


後面談到的功能都有包括


SQLSERVER自己開發了一些擴充套件的效能計數器。在安裝SQLSERVER的時候,會註冊到Windows裡。


這樣, Windows的效能監視器就能看到一些以“SQL”打頭的計數器了。SQLSERVER在執行時,會統計這


些計數器的值。


在效能監視器裡能夠看到:


預設效能監視器是用來實時檢測系統的,在窗口裡,用不同顏色的線條表示不同的計數器值。


當視窗畫滿以後,會從頭覆蓋前面的內容。所以預設只能看到最近一小段時間的值。


但是在現實的問題分析中,實時監測還是比較少的。更常見的場景是需要在問題發生之前,就要開啟性


能計數器的收集,


收集一段時間之後,或者問題重現之後,再離線地分析問題的現象和原因。


那麼日誌怎樣收集呢?


通常可以使用下面這些步驟:


(1)在效能監視器左邊的視窗,展開效能 日誌和警告子樹,點選“計數器日誌” 在右邊的窗口裡,右


鍵點選,


選擇“新 日誌設定”,他會彈出一個對話方塊,讓你為新的日誌記錄配置命名。這裡我們取名為Test,日


志預設儲存路徑是


%systemdrive%\PerfLogs\Admin\Test


(2)在接著彈出的對話方塊裡,就可以配置DBA要蒐集的資訊要求了。首先要選擇蒐集哪些計數器,以及


他們的取樣時間間隔sample data every,


預設是15秒取一次,這個間隔能夠滿足大部分需求。


有說法講在蒐集和磁碟相關的效能日誌時,間隔要設定短一點,最好是3到5秒。如果設定30秒以上,可


能資訊就不完整了。


所以15秒是大部分情況下比較好的選擇


(3)選擇新增物件,就可以選擇要收集的效能監視器物件。對於非線上分析,問題可能還不清楚,很難


確定哪些效能計數器有用,哪些沒有用。


所以在這裡,一定要多選一些。一般的SQL問題,可以選擇下面這些物件


在memory,process,physicaldisk,processor,system物件下的所有計數器,以及他們的所有instance


所有以SQLSERVER:開頭的效能監視物件


如果要監視CPU類問題,最好還包含thread下面的所有計數器,以及他所有的instance


有些DBA會擔心,抓這麼多計數器會不會影響效能。


應該說根據經驗,效能監視器對系統整體效能的影響幾乎感覺不到。所以可以比較放心大膽地多收一些


計數器。


基本工作原理是在.NET編譯出的IL程式碼裡放入鉤子用來記錄時間,然後通過直觀的介面顯示出哪部分代


碼耗能最大。


只是間隔可能還是選15秒比較安全


(4)設定檔案的位置和最大大小 ,另一個重要配置,是日誌檔案存放在哪裡,儲存格式,以及最大大


小。


日誌檔案的字尾是blg的二進位制檔案,需要使用效能監視器才能開啟這個檔案


如果效能日誌檔案大小超過1GB,可能有些機器開啟會很慢。所以一定要注意其最大值可以設為200MB。


如果一個200MB的檔案寫滿,效能監視器會自動建立一個新的。檔案格式可以選二進位制檔案


日誌蒐集當然可以手動開始和終止。但是如果問題會發生在半夜,最好能讓系統自動開啟,自動關閉。


效能監視器也可以幫DBA做到這一點


當得到一個性能日誌後,可以在效能監視器裡選擇 檢視 日誌 資料


在資料來源裡新增日誌檔案


然後點選資料選項卡,就能看到在原來那臺伺服器上收集的效能計數器了


這時候再點選“源”選項卡,能看見效能日誌檔案所包含的那段時間。拉動滾動條,可以把時間段縮短


到DBA最關心的那段時間


對收集到的日誌,DBA可以進行分析


------------------------------華麗的分割線---------------------------
一些效能監視器計數器
相關計數器


效能物件                                                 計數器
SQLSERVER:BUFFER MANAGER:    buffer cache hit ratio,lazy writes/sec ,procedure cache 


pages,total pages
SQLSERVER:Cache Manager:    cache hit ratio,cache object counts,cache pages ,cache use 


counts/sec
SQLSERVER:MEMORY MANAGER:    sql cache memory(kb)
SQLSERVER:SQL STATISTICS:    auto-param attmpts/sec,batch request/sec,failed auto-


params/sec,safe autoparam/sec, sql compilations/sec,


sql re-compilations/sec,unsafe auto-params/sec


----------------------------華麗的分割線--------------------------
與記憶體有關的計數器


Windows與SQLSERVER系統使用記憶體情況和合理配置SQLSERVER記憶體 


效能監視器  perfmon --新增-》可用計數器-》Memory-》新增available MBytes和pages/sec


資料收集器集-》使用者定義-》新建-》資料收集器集-》名稱:SQLSERVER記憶體使用-》手動建立-》效能計


數器-》 新增下面的效能計數器-》


時間間隔15秒-》儲存路徑:C:\Users\Administrator\Desktop\SQLSERVER記憶體使用-》 儲存並關閉-》


選中剛才建立的資料收集器-》啟動-》變成


datacollector01   -》在使用者定義下面 SQLSERVER記憶體使用 右鍵-》停止或者在空白的地方-》右鍵-》


停止


可以右鍵-》在使用者定義下面 SQLSERVER記憶體使用-》屬性-》更改資料收集器儲存路徑


 計數器


committed bytes:整個Windows系統,包括Windows自身以及所有使用者程序使用的記憶體總數


commit limit:整個Windows系統能夠申請的最大記憶體數,其值等於實體記憶體加上檔案快取大小


available MBytes(重要):現在系統空閒的實體記憶體數。這個指標能夠直接反映出Windows層面上有沒


有記憶體壓力跑在Windows2000上會把空閒記憶體用完知道剩下4MB~10MB。跑在Windows2003或以上就會留給


Windows多一點的實體記憶體


page file :%usage  page file:% peak usage :反應快取檔案使用量的多少,使用越多快取,效能越





pages /sec:每秒鐘需要從磁碟上讀取或寫入的頁面數目


soft page fault一般不會帶來效能影響,因此一般不太關心


一個良好的系統,他要處理的資料應該比較長期地儲存在實體記憶體裡。如果頻繁換頁/換入換出勢必影響


效能,pages/sec不能長時間保持在一個比較高的值


對於一臺SQL伺服器,如果available MBytes長期小於10MB,說明實體記憶體不太夠pages/sec 實體記憶體不


足也會做成頻繁換頁/換入換出 pages/sec不能長時間保持在一個比較高的值


Windows系統自身記憶體使用情況


一個32位Windows系統,正常記憶體使用大概幾百MB --64位Windows系統大概1GB~2GB


--如果發生記憶體洩漏(一般由硬體驅動造成),Windows會用到幾個GB甚至十幾GB,反過來擠壓應用的內





memory :cache bytes --系統的working set,也就是系統使用的實體記憶體數目,包括快取記憶體,頁交換


區,可調頁的ntoskrnl.exe 和驅動程式程式碼,


以及系統對映檢視


cache bytes計數器是下面幾個計數器的和:


system cache resident bytes,system driver resident bytes ,system code resident bytes ,pool 


paged resident bytes


system cache resident bytes:系統快取記憶體消耗的實體記憶體。快取記憶體的主要功能是提高檔案讀寫的


速度


pool paged resident bytes:頁互動區消耗的實體記憶體


system driver resident bytes:可調頁的裝置驅動程式程式碼消耗的實體記憶體


system code resident bytes:ntoskrnl.exe中可調頁程式碼消耗的記憶體


system pool 記憶體池  如果兩個重要的記憶體池記憶體出現洩漏,或者空間用盡,Windows會出現奇怪不正常


的行為, 進而影響SQL穩定執行。


所以需要檢查這兩個記憶體池


pool nonpaged bytes 非換頁記憶體池


pool paged resident bytes 換頁記憶體池


單個process使用情況


常見場景:available MBytes看出伺服器的記憶體基本用盡,但是從cache bytes看Windows自己沒有使用


多少。


現在要開始分析應用程式的記憶體使用了


在選擇物件的例項裡面要每個程序都要新增進計數器裡面,不要選擇_Total SQL的程序是sqlservr


%processor time:是目標程序消耗的CPU資源數,包括使用者態和核心態的時間


page faults/sec:是目標程序上發生的page faults的數目


handle count:目標程序handle(指向object指標)數目控制代碼數。如果程序內部有物件老是建立,不及時


回收,就會發生handle leak


thread count:目標程序的執行緒數目。如果程序老是建立新執行緒,不釋放老執行緒,就會發生thread leak


pool paged bytes:是目標程序所使用的paged pool大小


pool nonpaged bytes:是目標程序所使用的non-paged pool大小


working set:某個程序的地址空間,存放在實體記憶體的那一部分


virtual bytes:某個程序所申請的虛擬地址空間大小,包括reserved memory 和committed memory


private bytes:某個程序提交了的地址空間commited memory中,非共享部分


假設有processA 和processB,他們的虛擬地址空間都分成兩部分,核心態和使用者態 --核心態是由


Windows控制,所有程序共享。


processA --committed memory :1,2,3,4,7 --reserved memory:8 --shared memory:通過特殊API申請


的記憶體,processA和processB都能夠訪問


實體記憶體physical memory:1,3,4,d,7,9,b,c 快取檔案page file:2,y


系統核心態記憶體 system working set=x


檢查計數器主要找到以下:


使用記憶體最多的程序


記憶體使用量在不斷增長的程序


出現問題的那個時間段,記憶體使用數量發生過突變(增或降)的程序


這些可以通過working set  private bytes得到初步答案


 -----------------------------華麗的分割線--------------------


上面這些都是《SQLSERVER企業級平臺管理實踐》讀書筆記整理出來的一些常用SQLSERVER效能計數器,


大家做效能基線的時候都可以用來做參考
========

SqlServer效能檢測和優化工具使用詳細

http://blog.csdn.net/dcx903170332/article/details/45917387


工具概要    
    如果你的資料庫應用系統中,存在有大量表,檢視,索引,觸發器,函式,儲存過程,sql語句等等


,又效能低下,而苦逼的你又要對其優化,那麼你該怎麼辦?哥教你,首先你要知道問題出在哪裡?如


果想知道問題出在哪裡,並且找到他,咱們可以藉助本文中要講述的效能檢測工具--sql server 


profiler(處在sql安裝檔案--效能工具--sql server profiler)


    如果知道啦問題出現在哪裡,如果你又是絕世高手,當然可以直中要害,寫段程式碼給處理解決掉,


但是如果你不行,你做不到,那麼也無所謂,可以藉助哥的力量給你解決問題。哥給你的武功的祕訣心


法是---資料庫引擎優化顧問(處在sql安裝檔案--效能工具--資料庫引擎優化顧問)


sql server profiler功能 
    此工具比柯南還柯南,因為他能檢測到資料庫中的一舉一動,即便你不動他,他也在監視你,他很


賤的。他不但監視,還監視的很詳細,有多詳細一會再說,還把監視的內容記錄到資料庫或者是檔案中


,給你媳婦告狀說你把資料庫哪裡的效能搞的多麼不好,不過他也會把好的給你記錄下來,好與不好這


當然需要你來分析,其實他也是個很2的柯南。


資料庫引擎優化顧問功能 
    此武功,乃上乘武功。像張無忌的乾坤大挪移,先是接受sql server profiler檢測出來的sql,視


圖,儲存過程,資料結構等等,然後他再自己分析,然後再在懷中轉兩圈,感覺自己轉的差不多啦,就


給丟擲來個威力更炫,更好的索引,統計,分割槽等等建議資訊。讓你承受不住,happly致死。。下面聽


哥給你先講講咱們的很2柯南。


sql server profiler的使用
開啟系統主選單--sqlserver幾---效能工具--->>sql server profiler;笨樣兒,找到沒?哥等你會兒,


給你上張開啟他後的圖,讓你看看。。


然後檔案--新建跟蹤--顯示跟蹤屬性視窗


然後選中頁籤“事件選擇”,並點選”列篩選器“,操作如下圖:


首先那個select%是個篩選監測的TextData。那個%是個萬用字元,他的意思就是篩選select開口的語句。


當然這你自己可以隨便定義,如update%,delete%....。


把那個排除不包含值的行也給帶上,然後確定,執行。然後在資料庫中執行一句select。你會發現他檢


測到啦。


每列以此向右,從EventClass開始,我給你講講都是什麼。


事件分類,申請了語句,應用程式名稱,作業系統使用者,資料庫使用者,cpu佔用率,讀資料庫次數,寫數


據庫次說,執行指令碼用時,應用程式程序號,開始時間,結束時間等。


事件選擇,你就把滑鼠放上去,他下面有中文的註釋。自己好好看看,然後根據你自己的需要把事件勾


選上來。


然後檔案-->>另存為,可以把這些監測到的資料儲存為檔案,或資料表。


分析:


1.查詢持續時間最長的查詢


一般情況下,最長查詢時間的查詢語句就是最影響效能的原因存在。它不僅佔用資料庫引擎大量的時間


,還浪費系統資源,還影響資料庫應用系統的互動速度。再對資料用應用系統進行優化時,先找出他,


對其優化,在建立跟蹤時,勾上TSQL-SQL:BatchCompleted.跟Stored Procedures-RPC:completed。這樣


就能找出來這個最長時間查詢然後對其進行分析優化。


select TextData,Duration,CPU from <跟蹤的表>
where EventClass=12 -- 等於12表示BatchCompleted事件
and CPU<(0.4*Duration)  --如果cpu的佔用時間,小於執行sql語句時間的40%,說明該語句等待時間過



2.最佔用系統資源的查詢


就是佔用cpu時間,跟讀寫IO的次數。建議事件包含Connect、Disconnect、ExistingConnection、


SQL:BatchCompleted、RPC:completed,列包含writes,reads,cpu。


3.檢測死鎖


在訪問量,併發量都很大的資料庫中,如果設計稍不合理,就有可能造成死鎖,給系統性能帶來影響。


事件包含:RPC:Starting、SQL:BatchStarting、Lock:DeadLock(死鎖事件)、Lock:


DeadLockChaining(死鎖的事件序列)。


使用資料庫引擎優化顧問分析解決資料庫效能
開啟系統主選單--sqlserver幾---效能工具--->>資料庫引擎優化顧問,介面如下


開啟之後,你在上一個工具中儲存的的檔案,你就在這裡的工作負荷中選檔案,表就選表。選後別急。


把要分析的資料庫跟資料庫的表選上,也就是下面的用於工作負荷分析的資料庫選擇,跟下面的要優化


的資料庫和表,慢慢扣,把他選對。


然後選則你想要的優化選項


根據需要,選上,高階選項裡面通常可以預設。確定。。


然後點左上角有一個開始分析。如果報下面的錯誤,不要急,按照他的操作一步一步來就行。


點選tab標籤"優化選項",如圖:


然後點選“高階選項”:、


點選確定----開始分析-----一會就分析完成了


 它會給個建議列表,然後你根據上面的操作,把它給出的操作在資料庫中操作下就OK了,就不用那麼的


費盡心機的除錯SQL了,當然寫出高效率的SQL還是比較好的。
========

sql server效能分析--查看錶資料頁數



返回表名、索引名和行數
SELECT object_name(i.object_id) as objectName, i.[name] as indexName, sum(p.rows) as rowCnt
FROM sys.indexes i
INNER JOIN sys.partitions p
ON i.object_id = p.object_id
AND i.index_id = p.index_id
WHERE i.object_id = object_id('dbo.Meeting')
AND i.index_id <= 1
GROUP BY i.object_id, i.index_id, i.[name]


返回表的總頁數、使用頁數、資料頁數
SELECT object_name(i.object_id) as objectName, i.[name] as indexName,
sum(a.total_pages) as totalPages, sum(a.used_pages) as usedPages, sum(a.data_pages) as 


dataPages,
(sum(a.total_pages) * 8) / 1024 as totalSpaceMB, (sum(a.used_pages) * 8) / 1024 as 


usedSpaceMB,
(sum(a.data_pages) * 8) / 1024 as dataSpaceMB
FROM sys.indexes i
INNER JOIN sys.partitions p
ON i.object_id = p.object_id
AND i.index_id = p.index_id
INNER JOIN sys.allocation_units a
ON p.partition_id = a.container_id
WHERE i.object_id = object_id('dbo.Meeting')
AND i.index_id <= 1
GROUP BY i.object_id, i.index_id, i.[name]


按頁型別分類統計
SELECT case when grouping(i.object_id) = 1 then '--- TOTAL ---' else object_name


(i.object_id) end as objectName,
case when grouping(i.[name]) = 1 then '--- TOTAL ---' else i.[name] end as indexName,
case when grouping(a.type_desc) = 1 then '--- TOTAL ---' else a.type_desc end as pageType,
sum(a.total_pages) as totalPages, sum(a.used_pages) as usedPages, sum(a.data_pages) as 


dataPages,
(sum(a.total_pages) * 8) / 1024 as totalSpaceMB, (sum(a.used_pages) * 8) / 1024 as 


usedSpaceMB, (sum(a.data_pages) * 8) / 1024 as dataSpaceMB
FROM sys.indexes i
INNER JOIN sys.partitions p
ON i.object_id = p.object_id
AND i.index_id = p.index_id
INNER JOIN sys.allocation_units a
ON p.partition_id = a.container_id
WHERE i.object_id = object_id('dbo.Meeting')
AND i.index_id <= 1
GROUP BY i.object_id, i.[name], a.type_desc with rollup
========

SQL Server效能之瓶頸的正確檢視步驟

http://database.51cto.com/art/201007/210767.htm


我們今天主要向大家講述的是正確查出SQL Server效能之瓶頸的實際操作流程,以及對SQL Server資料


庫效能監控的實際操作描述。
AD:網+線下沙龍 | 移動APP模式創新:給你一個做APP的理由>>
以下的文章主要向大家介紹的是正確查出SQL Server效能之瓶頸的實際操作流程,假如你對DBA很瞭解的


話,那麼你就一定會了解到SQLServe資料庫的效能調優不是一個精密的科學。即使是,對於為最佳的SQL 


Server效能找到最佳的配置也是很困難的。


這是因為對於調優來說很少東西是絕對的。例如,一個性能調優可能對某一方面有


如果你曾經做了很長時間的DBA,那麼你會了解到SQLServe的效能調優不是一個精密的科學。即使是,對


於為最佳的效能找到最佳的配置也是很困難的。這是因為對於調優來說很少東西是絕對的。例如,一個


效能調優可能對某一方面有用,可是卻會影響其他的效能。


我曾經做過DBA,在最後7年的日子裡,我總結了一套SQL Server調優的清單。當第一次進行SQL Server


效能調優的時候,可以用它來作為一個嚮導。我經常被邀請去檢查SQL Server並提供一些效能方面的建


議。直到現在,我還沒有真正寫下一個貫穿整個效能調優過程的方案。


但是當我做了越來越多的效能調優的諮詢工作後,我現在決定花點時間整理出來。你將會發現它是很有


用的,就象我發現對我的用處一樣.


SQL Server效能監控


這套效能優化的清單將至少準科學的幫助你找出你的SQL Server任何明顯的效能問題。說是這樣說,SQL 


Server的效能調優仍然是很困難的。我試圖用這套清單去找出“容易”的SQL Server效能問題,困難的


留待稍後。我這樣做是因為很容易將容易和困難的的效能調優問題搞混。通過列出一個“容易”的效能


調優範圍,就很容易的將這些問題解決,一旦解決了這些容易的問題,那麼你就能集中去解決更困難的


問題。


使用這個SQL Server效能調優清單的一個好處是,它將不僅僅告訴你目前最容易解決的效能問題是什麼


,而且還幫助你正確的去解決。在某種程度上,你可以選擇不同的順序進行。換句話說,你可以故意做


出特殊的決定而不是按照清單通常的順序進行。


某種意義上說你是對的,不是所有的SQL Server效能調優建議都適合所有的情形。另外,你的決定是基


於你的資源限制,例如沒有足夠的錢去買滿足負荷的硬體。如果真是那樣的話,你就別無選擇了。還有


,你的決定可能基於一些政治原因,那是你不得不作出的改變。不管怎樣,你需要知道你能做什麼,使


用這個效能調優清單找出你能改變的範圍並做出相應的改變提升你的SQL Server的效能。


一般來說,你將在你的每一個SQL伺服器上執行這個清單。如果遇到清單中的一些問題,這會花掉你一些


時間。我建議你從目前效能問題最多的的伺服器開始,然後當你有時間的時候按照自己的思路去解決其


他伺服器。


一旦你完成了,可仍然有很多事情要去做。記住,這些只是一些容易的。一旦你完成了這些容易的,接


下來你需要花時間去解決更困難問題。這個是另一篇文章要解決的問題了。


怎樣進行你的SQL Server效能調優呢?


為了使其變得容易,我把它們分成了以下幾個部分:


使用效能監視器找出硬體瓶頸


SQL Server硬體效能監控列表


作業系統效能監控列表


SQL Server2000配置效能監控列表


資料庫配置設定效能監控列表


索引效能監控列表


應用程式和T-SQL效能監控列表


SQL Server資料庫作業效能監控列表


使用Profiler找出低效的查詢


怎樣最好的實現SQL Server效能監控


管理你的SQLServe效能的最好方法是首先回顧上面每一部分的內容,把它們打印出來。然後完成每一部


分的內容,寫下你收集到的結果。你也可以按照你喜歡的順序進行。上面的步驟僅僅列出了我執行的順


序,因為那樣通常能達到一個比較好的效果。


一旦你完成其中一部分,你可以按照在清單中發現的不同的建議進行你的效能優化工作。然後你將在後


面的部分學到更多。


以上的相關內容就是對查出SQL Server效能之瓶頸的介紹,望你能有所收穫。
========

連結

http://blog.csdn.net/kufeiyun/article/details/23743647
SQL Server查詢效能調優、捕捉和評估查詢效能


http://www.360doc.com/content/14/0415/14/3112151_369179018.shtml
怎樣查出SQLServer的效能瓶頸

相關推薦

SqlServer效能監控優化總結

如何監視和檢視sql server的效能 http://jingyan.baidu.com/article/a378c9609af34eb32828303a.html 開啟sql server studio management 開啟"工具"-"sql server pro

SqlServer效能檢測優化工具使用詳細

工具概要      如果你的資料庫應用系統中,存在有大量表,檢視,索引,觸發器,函式,儲存過程,sql語句等等,又效能低下,而苦逼的你又要對其優化,那麼你該怎麼辦?哥教你,首先你要知道問題出在哪裡?如果想知道問題出在哪裡,並且找到他,咱們可以藉助本文中要講述的效能檢測工具-

Android記憶體洩漏監控優化技巧總結

前言對於Android平臺的應用程式來說,記憶體優化一直是個熱門話題,與傳統PC應

Unity 協程運行時的監控優化

eset 喚醒 end execution iat 分享 部分 handle block 我是快樂的搬運工: http://gulu-dev.com/post/perf_assist/2016-12-20-unity-coroutine-optimizing#toc_0 -

MySQL效能分析優化-part 1

  MySQL效能優化 平時我們在使用MySQL的時候,怎麼評估系統的執行狀態,怎麼快速定位系統瓶頸,又如何快速解決問題呢? 本文總結了多年來MySQL優化的經驗,系統介紹MySQL優化的方法。 OS效能分析 使用top觀察top cpu/memory程序 使用mpstat觀察每

Linux效能監控除錯

作者:forest 來自:www.linuxstory.org 0 題記 對於每個網際網路研發人員來說,每天要監控和除錯 Linux 系統性能問題都是非常困難的工作。 為此,我們總結了非常有用的並且最常用的20個命令列系統監視工具。這些命令可以在所有版本的 Linux&nb

常用的虛擬機器效能監控故障處理工具

1. jps : 虛擬機器程序狀況工具          可以列出正在執行的虛擬機器程序,並顯示虛擬機器執行主類名稱,以及這些程序的本地虛擬機器唯一ID(LVMID)。          

1、Tomcat7效能監控優化

1.   目的 通過優化tomcat提高網站的併發能力。 2.   伺服器資源 伺服器所能提供CPU、記憶體、硬碟的效能對處理能力有決定性影響。 3.   優化配置 3.1. 配置tomcat管理員賬戶 在conf/ tomcat-use

【MySQL】15個有用的MySQL/MariaDB效能調整優化技巧

MySQL 是一個強大的開源關係資料庫管理系統(簡稱 RDBMS)。它釋出於 1995 年(20年前)。它採用結構化查詢語言(SQL),這可能是資料庫內容管理中最流行的選擇。最新的 MySQL 版本是 5.6.25,於 2015 年 5 月 29 日釋出。 關於 MySQL 一個有趣的事實是它的名字

webpack實戰專案中程式碼打包優化總結

網上關於webpack的優化的已經很多了,只是都比較零散,結合實戰專案自己做個總結 webpack 優化,實際專案中主要做到了一下幾點: 1、 檔案壓縮(css, js, html, 字型檔案, 圖片檔案) 2、 babel-loader 避免不必要的轉義 3、 babel-轉義結果進行快取

Java專案效能監控調優工具-Javamelody

JavaMelody能夠在執行環境監測Java或Java EE應用程式伺服器。並以圖表的形式顯示:Java記憶體和JavaCPU使用情況,使用者Session數量,JDBC連線數,和http請求、sql請求、jsp頁面與業務介面方法(EJB3、spring、Guice)的

深入理解虛擬機器之虛擬機器效能監控故障處理工具

《深入理解Java虛擬機器:JVM高階特性與最佳實踐(第二版》讀書筆記與常見面試題總結 本節常見面試題(推薦帶著問題閱讀,問題答案在文中都有提到): JVM調優的常見命令列工具有哪些? 1 概述 給一個系統定位問題的時候,知識、經驗是關鍵基礎,資料是

BW效能監控利器——ST13總結

  題記:BW的小工具,ST13,近來每每使用,都頗有感慨,故總結如下,以備後用 1、Process Chain:ST13--->BW-TOOLS-->Process Chain An

JVM效能監控調優

參考:http://www.cnblogs.com/java-zhao/category/776216.html(萬分感謝,學了好多東西) 1. JVM效能監控 1、定位系統問題 依據 GC日誌堆轉儲快照(heapdump/hprof檔案)執行緒快照(threadd

常用的jvm效能監控故障處理工具

    目前,網上有很多免費或者收費的JVM效能分析和故障監控工具,免費的有Eclipse Memory Analyzer(用於分析堆轉存快照檔案dump)、jvm各個類堆cup的使用情況分析工具:async-profiler-1.4-linux-x64.tar.gz  (官

【Linux】效能監控除錯

[TOC] 題記 對於每個網際網路研發人員來說,每天要監控和除錯 Linux 系統性能問題都是非常困難的工作。 為此,我們總結了非

CSS寫作建議效能優化總結

今年難得遇到中秋和國慶,已經放假幾天了,我也回到家了。今天還是比較開心的,搶了比較多的紅包,嘿嘿。紅包搶完了,現在也空下來寫點部落格咯。 這裡是我從網上的一篇文章看過來的,這裡先做一點小結,之後再補充。 1.CSS渲染規則 今天在微博的一篇文章上看到的,之

ListViewRecyclerView的使用效能優化總結

1.ListView介紹   在手機中,使用列表顯示是一種常見的顯示格式,那麼ListView就是一種常見的方式。例如:今日頭條,網易新聞都是使用ListView或者是最近流行的RecyclerView進行首頁的佈局,最後一節將會對它進行介紹。 2.L

SqlServer效能優化用SQL【執行次數效能監控

-- 查詢邏輯讀取最高的查詢(儲存過程) SELECT TOP ( 25 )         P.name AS [SP Name] ,         Deps.total_logical_reads AS [Tota

06.SQLServer效能優化之---資料庫級日記監控

不清楚的最好看一下,一會要用到。 常規的效能監視有多種,對於我們這些不是DBA的人來說基本上夠用了 第一個是整體的一個監視器 第二個是Profiler,這個挺好的,一般我們都是開發的時候用。真在生產環境下監視就太浪費伺服器效能了(小專案無所謂) 換環境了,以後繼續更