You are on page 1of 15

L < êÃq†¹]æ<êÛé×ÃjÖ]<ØéÖ‚Ö]

17
<
< ífÎ]†¹<íÚ‚~jŠ¹]<l]æù]
< Ý‚~¹]<ð]_
Tools to Monitor Server Performance
17 : Tools to Monitor Server Performance 286

 
     SQL Server  ! "#$ %&'!  ()*
+!'! ,- ./ 0 12 "3 #4 %553 67! 8  6!! 9 .,#! +!'! ;
<<0=>! 8?>!  "#@  +A!  8?5! B?  .C!! D* E7F0 >!
< <G C!! ; HI2J ,#! ?! 12@ $K L15
>! KM!  .3 %) . 9
<<
3 N%OP .#/0 @ >! (RST'!) ?! V%%M 
 +!'! W%XI0 .XM!
Y<<% .3  !! F! !K%Z .@? 
#4 [ .15
>! .#/0 M%=  
#</>! \)< < !* 3 M02! 67!>! 3 9 #/ @ \) !* ]P^Z I>! _`

8! 8@?! +!* a  M%=! ./ @b  0 [c
T2X) M%=0 =
.d)e! ;
 
    
  ! !"#$% ! &'
()" * +, - . /0 . SQL Server Performance Monitor0 SQL Server Profiler 2 3
.4 50 (/ 6"/ * " % - . / 78 7' 9

Y
 8 :;'  "<0 =% SQL Trace > (3/ SQL Server Profiler 8  4? 
.
  @ A #)B C.D E0 (real-time data) F#G CH * #I) 7J

K0L * 43HM N3  C E0 (analysis) (# O" # . (L C #I) :;' P" CQR
SQL Server Performance S

   C +
T+ 9 4"%U (baselines) VW P/ 0 FL, X  0

/ $ ) SQL Server Profiler ST+ 3 78 7' 7= C


.Monitor
RA
#-
 K. 8 0L * (Y." #BDW   "R SQL Performance Monitor ST+ CQ T#
.> Z ") -0A  4#" #$0

< SQL Server Profiler<sÚ^ÞÖ]


3 ( C #I" I, XQ  !$Q# [#[, SQL Server Profiler ST+ \.]
3^ 4QR ./ U[U0 Transact-SQL .# ) ' C 8 :;' Q< .(SA) _
` ,8 a58 bW BDc= I,8 * de"  f3O"0 G # . 0 g)"%U
.TH  Lc  "%   h3 8 :;i CQR .SQL Server j
\" 

Microsoft SQL Server  


 SQL Server Profiler    Note
.Tools   Enterprise Manager   
287  
    : 17

SQL Server Profiler Queue < SQL Server ProfilerØi…


.4" \"#%  a58= kl"5g m .)"e3 ng SQL Server Profiler ST+ "e3
.o C Options #", N3  C SQL Server Profiler ST+ C.D (  ;' \p5 q#r CQR
.17  1 (Q * 4_3 ./ Display d3$" * $ s)= (3) t C0 View

Y
RA
 ‫א א
 א‬171
‫א‬
SQL Server Profiler

u #% @; $' U0 (,3 .B (buffer) # 5   /; (. (   m3 9$ *
d%G  l#V C l "j (modules) 50 Kg, C (trace) d) # . (/ u"TW \"30 .U0
K%W * $r a5 vB (Q 50 (producer) S" L$3 f#5 w Lc=

x 63c Kg, C ( = SQL Server \QO"3 .y- d#  NB0 (  bW a58
C S" CQ."3 ! ( F" x$ 0   .5" #3HM 5e &' z[ {5 7p". 
 Lc 9#.| (pause) x 63c= $#% SQL Server ST+ !}B (  C.D ="Q
4)~ *  Lc ."e f#5 .(autopuase) Fo " x X$"  #)D$ :;'
0
.Fo " x X$" 5  (  * ="Q= $ ! !0 CQ a58 #I)
# 5 
  /; bW a58 C 3H (T (L C (thread)  e # hB \#   EW
)= .Properties #", t File .o bW €'; QR Fo " x X$" 5 C u0 0
.o  0‚ H
T t C0 General d3$" C (trace Name) d)" # . \% ", E
17 : Tools to Monitor Server Performance 288

  (3) C0 


(   W 3ƒ C CQ.""% E  w SQL Server e
.17  2 (Q * OD$ V C  e # hB \#  #r=  Lc

Y  SQL Server Profiler ‫א  א‬172


‫א‬

ST+ I%$= 4) \"3  I  a58 4 (/ \h vB )h= TW „ 
.d)" a5 vB K0"%   l *0 .SQL Server Profiler
RA
Trace Event Categories < <gÏÃjÖ]<p]‚u_<l^òÊ
:†"/ vB C.D d)" a5 9#.A „ 
 Lock
 Misc
 Objects
 SQL Operators
 Scan
 Session
 Stored Procedures
 TSQL
 Transaction

0 4) QR  a58 3^ (L C vl :;'


€   _T ;,J !‡0
.  C OD0  QB #I) ! CQR
289  
    : 17

Lock Events < ØËÏÖ]<p]‚u_


:#" d)" a5
@$"^ Lock vl !W
(acquisition of a lock)(l €e"/ 
(canceled lock requests) r  (l   
(deadlocks) (l 5 Kl 
(lock releases) (l 3 ^ 
(lock timeouts)(l 4"TU F" x$ 

(Q= #I" ="/   ˆ SQL Server ST+ * Kl8 (/ a^
3=) $lI  "B  Kl8 (/ C Š) n3  #I" 9#~ !}B ‹G $e0 .z#O]
3^ # (4e#%  Q d% C $ ) C 3H
K$[G !}B ; w(K.)"%U
. SQL Server Profiler ST+ + E0 Kl8  Q * de"  .# )"  l#V







Y
Miscellaneous Events

Attention
Auto-UpdateState
CursorOpen
ErrorLog
EventLog
HashBail
< íÂçßjÚ<p]‚u_
:#" d)" a5 Misc vB @$"^
RA
 LoginFailed
 Recompile (NoHints)
 ServiceControl

Fo " (#r"=  )" a580  $I U[U


 $" a58 (."
(p % * ="Q= $  a580 w SQL Server q z"B a5 0 f3O" #o[5c
N )"  (hashing operation) oHp" # . bW BDc= a58 (p% *0 SQL ServerI,
\"  TH0 TH  Lc0 OL q K$, (#pe U0Ž bW0  3r I
(." ./ I) (optimization hints) # Y8 O#.  "% !0 (recompilied) 4"~   W
. SQL Server (#r  W0 x 63c a5

Object Events < l^ßñ^ÓÖ]<p]‚u_


:#" d)" a5 Objects vB @$"^
 Objects: Closed
 Object: Created
 Object :Deleted
 Object: Opened
17 : Tools to Monitor Server Performance 290

SELECT .# )" 5 K.)"%  $"l Co/ ‘gW C-


a58 :;' (."
=e .# )" K.)"%  mO"B 0 mB;5 0 Ž Co/ TW C-0 DELETE0 INSERT0
(scan) ze 
# . 63W0 (#r # . C-0 (parallelism degree) ’ l" L bW BDc=
.7) “ 4l 0 K0|

Session Events < ØÛÃÖ]<l^Š×q<p]‚u_


:#" d)" a5
session vB @$"^
 Connect
 Disconnect
 Existing Connection

 #)l 9#~ bW BDc= K[U 9I0 K[U a5 9#~


vl :;' (."0
.d)" # . = ( nU$, $ p% C3; !$"e ” $3

Y
Stored Procedures Events

 SP:CacheHit
 SP:CacheInsert
 SP:CacheMiss
 SP:CacheRemove
< íÞˆ~¹]<l]ð]†qý]<p]‚u_
:#" d)" a5 C.h""B vl :;' 
RA
 SP:Completed
 SP:ExecContext
 SP:Recompile
 SP:Starting
 SP:StmtStarting

6;5 0 -W0 (procedure cache)  Lc  /E C.D !Hj  LW •W
(."0
 
Lc # Z #)D$0  ."Q TH  Lc bW BDc=  Lc  /E C   LW
~   W 5 * 0 (#r = 5 *  TH  Lc ;/0 n#5 (.) 
.!Hj  LW C.D $L$ .# )" =
nh3 (."0

TSQL Events < TSQL <p]‚u_


:#" d)" a5
vl :;' @$"^
 RPC:Completed
 RPC:Starting
291  
    : 17

 SQL:BatchCompleted
 SQL:BatchStarting
 SQL:StmtStarting


#)  Lc  "%
0 #)  L–  ."Q  "%U
(."0
C )B (#r = C-0 Transact-SQL .# ) C  ."Q )B ;/0 4 .  = 
.5
Transact-SQL .# ) (/ (#r = C-0 Transact-SQL .# )

Transaction Events < løÚ^ù]<p]‚u_


:#" d)" a5
vl :;' @$"^
 DTCTransaction
 SQLTransaction

T#  $ 7= E0 7" 5  E N#I" # . NB0 MS DTC g)


(."0

Y .rollback0 save point0 commit0 begin g)


;/0 )"
i a58 C K$  d)  z#"3 SQL Server Profiler ST+ !}B ‹5g ./0
#"  l * .j
d " $L0 C Š)  8 :;' "% — U ;

Creating a Trace
.d)" # . TW #l#/ ˜)%

< gÏÃi<íé×ÛÂ<ð^Þc
RA
SQL Server Profiler8 (#r QR SQL Server ST+ * d) # . TW (L C
)=0 .Trace t C0 File .o C New #", t C0 Microsoft SQL Server #™+  $.‚ C
", t C0 Trace Name ‘0[ C.D d)" # .) \% K,}= \ General d3$" #",
bW 0 X  bW u  P" # . C3HM 4L0 5 t C0 e .o C SQL Server j
(Q 4_3 f#5 w4)"= d   a58 ",0 Events d3$"
T E )= .K0L
(L C Data Columns d3$" "T= \ d)" a5 #", )=0 .Events d3$" 17  3
\ Filters d3$" * q, 0 wd)" u , X  * 4#.h"= d  #BDW . 3 #",
.d)" X  * 4"3ƒ $ U  a58 #l["=
x. @; 9$ bW So" (% 0 KG * d)" # .  F/ OK H
T
.V
So" 4_"% m#W So" (%  U0L 0 l  ^ š K5 *0 w:3O"=
17 : Tools to Monitor Server Performance 292

CY
 File 
  ‫"!א‬Events#$% ‫א‬173
‫א‬

Working with an Existing Trace íÏe^ŠÖ]<gÏÃjÖ]<l^é×ÛÂ<ÄÚ<ØÚ^ÃjÖ]


.o #", QR n e 'ƒTW „ d) # . (#r (L C
C 4 #r"= d   d)" # . #", t Run Traces t C0 SQL Server Profiler ST+
RA
.=e )" .o
# Fr3 f#5 wFile .o C )" 6;50 x 63c0 63W nh3 QR
)l d)" # . 9#~ 63W d• ;/ .4B;5 C CQ." ! ( d)" # . 63W
.SQL Server Profiler ST+ ;BT ‘gW (
o"T )= )B d) # . (3)" E0 File .o C Properties #", nh3 9#I"e
VV X#_"= d  x/0 )B d) # .  3 xT/ EW0 .Run Traces # 
.File .o C Clear Trace Window #", 9#I"e ` , ) 3ƒ (L C d)"

Trace Output File < gÏÃjÖ]<t†}<Ì×Ú


* 4_3  ./ General d3$" C.D d) X  bW #I) C3HM  ", EW
3)  "R X  ;'0 .trc 5g  "R X  * !H#% d)" u , !}B w17  4 (Q
:i U.)"%U C
293  
    : 17

SQL Server I,8 K$ 5 •W (L C a58 P" 

)%$ TH  Lc I, X/ 

Ž #-  "B NB0  a58 (metrics) “# 50 TW 

Index Tuning Wizard ˜) 9 m"%U (workload file) (.) (› X  TW *  e 

SQL Server Profiler ST+ * $L$ Replay SQL Server #)l (, (.)"e3 

Y
RA
 ‫ א‬General#$% ‫א‬174
‫א‬
SQL Server Profiler

Replay SQL Server<íéÖ^ÃËÖ]


C 4"TU )= d)" # .)= œ P"U #I) X  (#r"= #)l :;' $
.# ) C3HM bW # )B E @#%0 wP$rh . * 0 F#G CH * E0 m #pe
SQL Server .o C Replay SQL Server #", 9#I"e .T#   C.D X  * Transact-SQL
.7 ([l= T)"%U QR Replay SQL Server #)l C $ ) C 3H0 .Profiler
17 : Tools to Monitor Server Performance 294

SQL Server Performance Monitor<sÚ^ÞÖ]


ž T0H3 ./ m"IT 0     #TQW SQL Server Performance Monitor 3
  -0A  4#" #$0 #) (counters) ) e= m#" " 3^ * (Y." #BDW
.")
.Microsoft SQL Server #™+  $.‚ C SQL Server Performance Monitor ST+ (#r QR

< < SQL Server Performance Monitor<sÚ^ÞÖ]<ØéÇi


#", 9#I"e ./ (charts) II C3HM0 Ÿ 0 TW ST+ ;' Kg, C QR
4_ '0=0 .II   bW 4"BDW0 (counters) )0 (objects) #o[5c $
\pG qr] IIj z[ {50 .l " ) C +) F/ 3" T$ II

Y$ C l "j ’$T   (L C 3 IIj TW # d• zD0 (Q= 0 0

I bW =$ I ) XD .4"  €$ I ) "TU VV 4_ f# Edit

.#o[5c
.o C Add to Chart #", t C0 New Chart t File .o #", N3  C E \"3

 $" #o[5c $ C +) l "j !$ $L0 ‹5g"% .4 :;' C o4"T  0 †G
.'#",= x. 
RA
Generating an Alert < l^ãéfßjÖ]<‚éÖçi
SQL ST+ *  " FIM \"3  7) m# #$ \"3 !J= d  x/ EW
(p% VV $4?  0 wAlert t View .o #", QR Server Performance Monitor
.o C Fo[5c  3O"= \ .Edit .o C Add to Alert ", (Alert Log) 4#"
Under 0 Over #, N"T Alert If I *0 Counter ‘0[ C d% )0 Object e
.Run Program ‘0[ C.D sqlalrtr70 8 (, E )= ") .# (, 0
:F4BAlert If C.D Run Program ‘0[ * i,W QR  sqlalrtr 70 8 r#] 
sqlalrtr70 -E error_number [-S server_name] [-P password]
[-D database_name] [-V severity] [-T]
295  
    : 17

* Z ") -0A  aO#% @; JI \ =e r#[ * error_number (YR
B 5 +") -T0 -V0 -D0 -P0 -S0 –E  " ! bW Vc ' \4 C0 Alert Log V
* 0 (First Time) b08  .  B m#" (#r h3 9#I"e .E !#eT  d• ; q/
.(Every Time)   (/
ST+ * " -0A  Ž m# #$ (L C mT EW w# .) :;' C m"T š !‡ {50
( :TJT @; m#" 9.B w7l "j 74#  W # Fr3 SQL Server Performance Monitor
. SQL Server m# TW C  =U SQL Server Performance Monitor ST+ * (# 
( C B )  aG JI, % TW * (Y." SQL Server m# TW * $I, K0 0
Alerts t SQL Server Agent #", N3  C Enterprise Manager ST+ K.)"%= E0 "e
(Q= m#  N3  C Result d3$" * €$ I m#" #", t C0 Ÿ )"%U 5$ C.D
.Properties #", t Result d3$" * €$ I m#"
CR8 H=  Kg, C 0 u0H
* ./ Manage Server Messages $G ‘0] 4_3 F/ (…) Ÿ )"%U -
E )= T

Y .17  5 (Q
% "% 9#I"e w"e ( C B ) % TW (L C New H
T
SQL Server Performance ST+ C  JI E ]W  SQL Server m# #$" :;' JI
‘0[ * sqlalrtr70 8 C.D m"e"% @; JI \ —lT K,}= \ '0 .Monitor
] I,8  ! bW Vc A0 .Performance Monitor ST+ * Run Program
(8 8 Hp  SQL Server ST+ !8 E0 50001 C  "e ( C B ) (o% =
RA
.mel 50001 C

 &'( )*‫
א‬%+!, -./0175
‫א‬
17 : Tools to Monitor Server Performance 296

.JI ]W  :#$ \"#% @;0 3L SQL Server m# TW F4B q,8 $I 
ST+ * €$  I  ", ml3 )"= x. @; JI \ "%= m# TW (L C0
(, .New Alerts ",0 Alerts
CR8 H= T t C0 SQL Server Agentt Enterprise Manager
JI \ ",0 (…) Ÿ )"%U -
rD0 Error Number
T t m#"  % ¡
(Q= Q¢ m# @ +")3 .sqlalrtr70 8 C.D m"Q"% @;0 (#  ( moT}= x. @;
* m#" #$"= d  x/ EW #G V * T#   #", h3 — U wFD "B
.(17  6 (Q _T) #) T#=  
 m4# \"#% @; £ 3^ (L C (Response) =p"%U d3$ ", E )=
SQL Server Agent0 SQL Server Performance Monitor 7" g/ ! /;= 3|0 .JI a05
.4#" #$ \"3 F/ (.) 5 * T$Q ! d•
d% m#" #$"= $#% SQL Server Performance Monitor ST+ * ") -0A \"3 
SQL Server Agent 9 F ST+ ;' (["3 .sqlalrtr70 F ST+ (#r"= $#% :0=0

Y
isql F ST+ $3 .SQL Server Performance Monitor ST+ 90 isql F ST+ 90
$"% 0 RAISERROR WITH LOG:#" Transact-SQL .# ) ;l30 SQL Server 9 K[U=
£ g }= $3 F/ SQL Server m# #$ \"#%0 #I" (p% C.D aG ="Q=
.SQL Server m#" oTW  Response d3$" C.D m5 @;
RA
 '#'1‫א‬2%3 ‫א‬SQL Server Agent!17-6
‫א‬

297  
    : 17

Objects and Counters < l]]‚ÃÖ]æ<íéñ^’uý]<çßfÖ]


X[ 0 ) C $ ) 9.¤ SQL Server Performance Monitor ST+ $3
:F' 4"   #l !$Q   SQL Server   .l "j (objects) #o[5W $= C.D

.object_name - counter_name    !"# $ %&' Note

.q/ 5 bW ¥ "<  “4l Ol] C S" Access Method-Page Split/sec 

K0L
 [" Kl8 9D0    Access Method-Table Lock Escalations/sec 

.#TY * 
o/ ( C 5$ #TY * -$pZ "U Access Method-Extents Allocated/sec 

.#I) C3H"= $  T#  


( C 5$ #TY * ' 3 ^ \"3  "U Access Method-Extents deallocated/sec

Y .#I) C3H"= $  T#   o/


* 'ƒTW „  (worktables) (.) K0L  Access Method-Worktables Created/sec
.=e #TY
 /E *  I •W   ) 3$v e Buffer Manager-Buffer Cache Hit Ratio
v= 100 bW e :;' ([ ! (hl3 .d [ œ  C ¦  C U= buffer cache
. 8 (hB E !/ 4".# - . /0
bW d"Q  (dirty pages) ; Ol[ Buffer Manager-Checkpoint Writes/sec



RA


.£Ol IT Kg, C E0 #T (/ * œ 


 (]50 #T (/ * #o3H#l Ol[    Buffer Manager-Page Reads/sec 

q/ .#  "R ) ;' !/ EW .T#  $ 9#~ + #T (/ * #o3H#l  
.T#   \#.[ wg)"%U w“4l:#" U‚ 5 £OB §;o # d•
$ 0 #T (/ * #o3H#l IO    Buffer Manager-Readahead Pages/sec 

.n# )B 4#W LG ( Ol[


K$[G (L C #8  =
C.D #I).   I •W   ) 3$v e Cache Manager-Cache Hit Ratio 


. /0 v= 100 bW e :;' ([ ! (hl3 .d [ œ  C ¦  C nU=  /;
. 8 (hB E !/ 4".# -
eT K w#TY * ;l Transact-SQL 0 )B  Databases-Transactions/sec 

.#L 0 
#TY * qYQ g)
.T#  $ 9#~ * )l g)  Databases-Active Transactions 

(pe \p5 3-    Databases-Log Growths 


17 : Tools to Monitor Server Performance 298


 dL$"3  #T F #= ˆ _"TU x0 Latches-Average Latch Wait Time 

.(7 e * (l #¨ C ˆHL Q% (Y<) _" ! (latches) Q%
.(deadlock) (l 5 bW @ 0 #TY * Kl8  Locks-Number of Deadlocks/sec 

.Š$Y=  gpe © _"T  "B Replication Logreader-Delivery Latency 

.#TY * $Z gpe © 0  Replication Logreader-Delivery Rate 

(updating f3O" & " * A €h" U5  Replication Merge-Conflicts 

C =U †"=0 !B 5 $L0 y)3 ;4B l[ @0e U .# $L0  0 subscriber)
. Q :;' (5
ST+ I%$= #TY * ,$e I%8  Replication Snapshot-Bulk Copy Rate 

.BCPF
.#TY * K$, (#pe # .  General Statiscs-Logins/sec 

Y
Performance Considerations < ð]ù^e<í‘^}<l]…^fjÂ]

8 C s#l" * SQL Server Performance Monitor ST+ de"3 ! CQR
)  0 H4L8 #= BDc= 4q%  )
0 m #r  "B
ˆ."  E0

<
.:.") @; f3O" (]B
0

SQL Server<ÄÚ<Ù^’iøÖ<íeçת¹]<l^éu^ÛŠÖ]
RA
Permissions Needed to Connect to SQL Server
# Fr3 ; wB NT N^ ª SQL Server Performance Monitor ST+ "e3
9 K[g % #5g[  "R ST+ ;' (#r"= $#% @; NT €e5 ! C /J"
C
 0 NT N^ ª C $ ) C 3H .public 0 * ˆ$h +")3 €eG ! 0 SQL Server
.5 ([l  ’$L  QR public 0

< ì‚éÃe<ØÛÂ<íŞ¦<àÚ<Performance Monitor<sÚ^ÞÖ]<ØéÇi


Running the Performance Monitor from a Remote Workstation
x#Y N3  C E0 #)= (. IŽ C Performance Monitor ST+ (#r CQR
("SQL Server x#Y"11 ([l _T) (.) IŽ
SQL Server * !$=H= ] # S+
.SQL Server #™+  $.‚ C Performance Monitor ST+ #", t C0
SQL ST+ !}B Named Pipes Q K$/$0 = 9 SQL Server ST+  W  
xT/ E}B ." SQL Server j 9 K[U
ˆ z[3 C Server Performance Monitor
299  
    : 17

N
3  C SQL Server = ] Q U$/$0 = £Ol QR K[U *  Q 3
x#Y C /J" t C0 Microsoft SQL Server #™+  $.‚ C Server Network ST+ (#r
* :$L0  K$/$0+ ;' BD}= $ F/ Add H
T .Names Pipes K$/$0+
..o

Y
RA

You might also like