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幾---性能工具--->>數據庫引擎優化顧問,界面如下
打開之后,你在上一個工具中保存的的文件,你就在這里的工作負荷中選文件,表就選表。選后別急。
把要分析的數據庫跟數據庫的表選上,也就是下面的用于工作負荷分析的數據庫選擇,跟下面的要優化
的數據庫和表,慢慢扣,把他選對。
然后選則你想要的優化選項
根據需要,選上,高級選項里面通??梢阅J。確定。。
然后點左上角有一個開始分析。如果報下面的錯誤,不要急,按照他的操作一步一步來就行。
點擊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/23743647SQL Server查詢性能調優、捕捉和評估查詢性能
http://www.360doc.com/content/14/0415/14/3112151_369179018.shtml
怎樣查出SQLServer的性能瓶頸
總結
以上是生活随笔為你收集整理的SqlServer性能监控和优化总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图解Ollydbg简单逆向操作案例
- 下一篇: nosql数据库学习总结