You are on page 1of 55

2012

Dch v SQL Profiler

Lng Xun Mnh Nhm 6 - H qun tr c s d liu 5/14/2012

Dch v SQL Profiler TRNG I HC HNG HI VIT NAM KHOA CNG NGH THNG TIN -----***-----

BO CO BI TP LN
HC PHN H QUN TR C S D LIU
ti: TM HIU DCH V TM HIU DCH V SQL PROFILER TRONG MS SQL SERVER 2005

Ngi hng dn: Sinh vin thc hin:

L Th Anh
Nguyn Quang Tn (NT) Nguyn Th Phng Lng Xun Mnh o Nguyn Huy Nguyn Vn Hu

Hi phng, thng 5 nm 2012 May 14, 2012

Dch v SQL Profiler

Mc Lc
Gii thiu ........................................................................................................... 5 ChnG I, Cc khi nim trong SQL Profiler ................................................... 5 1.1 Thut ng.................................................................................................. 5 1.1.1 S kin (Event) ................................................................................... 5 1.1.2 Lp s kin (EventClass) ................................................................... 5 1.1.3 Loi s kin (EventCategory) ............................................................ 6 1.1.4 Ct d liu (DataColumn) .................................................................. 6 1.1.5 Mu (Template) .................................................................................. 6 1.1.6 Truy vt (Trace).................................................................................. 6 1.1.7 B lc (Filter) ..................................................................................... 7 1.2 Hp thoi Trace Properties ....................................................................... 7 1.2.1 Th General Tab ................................................................................. 8 1.2.2 Th Events Selection .......................................................................... 9 1.1.3 Th Events Extraction Settings ........................................................ 11 Chng II, Lm vic vi SQL profiler ........................................................... 12 2.1 Cc mu truy vt..................................................................................... 12 2.1.1 Cc mu c nh ngha trc ....................................................... 13 2.1.2 Mu mc nh ................................................................................... 15 2.2 Quyn yu cu chy SQL Server Profiler ......................................... 15 2.2.1 Quyn s dng pht li truy vt .................................................. 16 2.3 Lu cc truy vt v cc mu truy ........................................................... 17 2.3.1 Lu cc truy vt ................................................................................ 18 2.3.2 Lu cc bn mu .............................................................................. 18 2.3.3 Nhp v xut cc mu ...................................................................... 19 2.3.4 Phn tch hiu sut vi cc mu ....................................................... 19 2.4 Sa cha mu lu vt ............................................................................. 19 2.5 Bt u, tm dng, v dng lu vt ....................................................... 20 2.5.1 Bt u lu vt.................................................................................. 20 2.5.2 Tm dng lu vt ............................................................................. 20 May 14, 2012

Dch v SQL Profiler 2.5.3 Dng lu vt ..................................................................................... 21 2.6 Tng quan lu vt v nht k hiu sut ca Windows ........................ 21 2.6.1 Xem v phn tch cc du vt vi SQL Server Profiler ................... 21 2.6.2 X l s c d liu ........................................................................... 22 2.6.3 Hin th Tn Object Khi xem du vt .............................................. 22 2.6.4 Tm s kin c th Trong thi gian lu vt ...................................... 23 2.7 Phn tch kha cht vi SQL Server Profiler ......................................... 24 2.7.1 Biu kha cht ............................................................................. 25 2.7.2 Nt tin trnh kha cht .................................................................... 25 2.7.3 Nt ngun kha cht......................................................................... 26 2.8 Phn tch cc truy vn vi cc kt qu t SHOWPLAN ....................... 27 2.8.1 Trch xut cc s kin Showplan ..................................................... 27 2.8.2 Cc s kin Showplan ...................................................................... 27 2.9 Lc du vt vi SQL Server Profiler ..................................................... 28 2.10 Xem li theo di ................................................................................... 29 2.10.1 iu kin pht li ........................................................................... 29 2.10.2 Cc ty chn pht li ...................................................................... 31 2.10.3 Gii thiu v health monitor .......................................................... 34 2.10.4 Ch khi pht li cc truy vt........................................................ 34 2.11 Cc chui s kin s dng SQL Server Profiler ............................. 34 2.11.1 Tm kim cc hot ng truy vn ti nht...................................... 35 2.11.2 Xc nh nguyn nhn gy ra kho cht ........................................ 35 2.11.3 Gim st lu tr cc th tc thc hin. .......................................... 35 2.11.4 Hot ng kim ton SQL Server ............................................. 36 2.11.5 Theo di hot ng Transact-SQL vi tng ngi dng. .............. 36 2.11.6 Thu thp mt mu i din ca cc s kin th nghim ........... 36 2.11.7 Thu thp mt mu cc s kin iu chnh thit k c s d liu vt l bng cch s dng c s d liu Engine Tuning Advisor. ............. 36 Chng III, ng dng dch v SQL Profiler .................................................. 37 3.1 Phn tch kha cht ................................................................................ 37 May 14, 2012

Dch v SQL Profiler 3.2 Pht hin v phn tch cc truy vn di chy vi Profiler...................... 43 Ph Lc ........................................................................................................... 45 Ph lc 1 Lu tr cc kt qu truy vt vo mt tp tin.............................. 45 I, S dng SQL Server Profiler ................................................................. 45 II, S dng TRANSACT - SQL ................................................................ 46 Ph lc 2 Lc s kin trong theo di ........................................................ 52 Thit lp b lc .......................................................................................... 52 Nhng lu khi thit lp b lc................................................................ 53 Kt lun ........................................................................................................... 54

TI LIU THAM KHO


Beginning SQL Server 2005 Administration Dan Wood, Chris Leiter, Paul Turley 2007 Wiley Publishing, Inc Professional SQL Server 2005 Reporting Services Paul Turley, Todd Bryant, James Counihan, Dave DuVarney, 2006 Wrox Press SQL Server Books Online Nhiu tc gi 2012 Microsoft Corporation Internet

May 14, 2012

Dch v SQL Profiler

Gii thiu
SQL Server Profiler l mt cng c ghi chp hot ng ca SQL Server c s dng bi c ngi qun tr c s d liu (DBA) v nh pht trin. i km vi SQL Server phin bn thng mi, Profiler cho php bn qun l v nm bt c nhng hot ng ang din ra trong c s d liu bao gm cc truy vn, yu cu, nht k, li,... Dch v ny cung cp mt giao din ha cho SQL Server Trace bao gm cc th tc thng tr v hm c s dng theo di v ghi li hot ng ca my ch. Bn c th truy cp SQL Server Profiler theo 2 cch: 1. Trc tip t menu Tools ca SQL Server Management Studio 2. Start Menu All Programs Microsoft SQL Server 2005 Performance Tools.

ChnG I, Cc khi nim trong SQL Profiler


1.1 Thut ng 1.1.1 S kin (Event) S kin l mt hnh ng c to ra trong mt trng hp ca SQL Server Database Engine. Cc v d theo l : Cc kt ni ng nhp, tht bi, v ngt kt ni. Tin hnh chn SQL (SQL SELECT), thm (INSERT), cp nht (UPDATE) v xa (DELETE). Gi th tc t xa ( RPC ) cc nhm trng thi. Bt u hoc kt thc mt th tc thng tr. Bt u hoc kt thc cc cu lnh trong cc th tc thng tr. Bt u hoc kt thc mt nhm lnh SQL. Mt li c ghi vo nht k ca SQL Server. Mt kha c thu hi hoc c gii phng trn mt i tng c s d liu. Mt con tr c m. Kim tra quyn an ninh. Tt c cc d liu c to ra bi mt s kin c hin th trong truy vt ti mt dy n. Dy ny c giao nhau bi cc ct d liu m t hi tit s kin. 1.1.2 Lp s kin (EventClass) Mt lp s kin l kiu s kin c truy tm. Lp s kin c cha tt c cc d liu m c th c bo co bi mt s kin. V d mt vi lp s kin :

May 14, 2012

Dch v SQL Profiler SQL:BatchCompleted Audit Login Audit Logout Lock:Acquired Lock:Released

1.1.3 Loi s kin (EventCategory) Cc s kin cng loi s c nhm vo vi nhau thnh mt EvenCategory bn trong SQL Server Profiler. V d, tt c cc lp s kin kha c nhm li trong th loi s kin kha Locks. Tuy nhin, cc th loi s kin ch tn ti bn trong SQL Server Profiler. Thut ng ny khng phn nh cc s kin c th c nhm li. 1.1.4 Ct d liu (DataColumn) Ct d liu l thuc tnh ca cc lp s kin c ghi li trong truy vt. V lp s kin xc nh loi d liu c th c chn lc, khng phi tt c cc ct d liu c p dng cho tt c cc lp s kin. V d, trong truy vt thu c lp s kin Lock:Acquired, ct d liu BinaryData cha cc gi tr ca trang ID hoc dy b kha, nhng ct d liu Integer Data khng cha bt k mt gi tr no v n khng cung cp lp s kin thu c. 1.1.5 Mu (Template) Mu xc nh cu hnh mc nh cho truy vt. C th, n bao gm cc lp s kin bn mun theo di vi SQL Server Profiler. V d: bn c th khi to mt mu xc nh cc s kin, cc ct d liu, cc b lc s dng. Mt mu khng c thi hnh nh truy vt, thay v n c lu nh mt tp tin vi phn m rng.tdf. Sau khi lu, khun mu s iu khin du vt c ghi li khi truy vt s dng n. 1.1.6 Truy vt (Trace) Mt truy vt xc nh d liu da trn cc lp s kin c la chn, cc ct d liu, v cc b lc. V d, bn c th to mt truy vt theo di cc li. lm vic ny bn chn lp s kin Exception v Error, State, v cc ct d liu Severity. D liu t 3 ct ny cn c thu thp li cho cc kt qu truy vt cung cp cc d liu c ngha. Bn c th chy mt truy vt sau , cu hnh theo cch nh trn, v d liu thu thp trn bt k s kin Exception xy ra trong my ch. D liu truy vt c th c lu li, hoc c s dng ngay lp tc phn tch. Cc truy vt c th c pht li vo lc khc, mc d cc s kin nht nh, chng hn nh cc s kin Exception, khng bao gi ti hin li. Bn cng c th lu cc truy vt nh mt khun mu xy dng cc truy vt tng t trong tng lai.

May 14, 2012

Dch v SQL Profiler SQL Server cung cp 2 cch theo di mt thc th ca SQL Server : bn c th theo di vi SQL Server Profiler, hoc bn c th theo di bng cch s dng cc th tc thng tr h thng (System Stored Procedures). 1.1.7 B lc (Filter) Khi bn khi to mt truy vt hoc mt mu, bn c th xc nh cc tiu ch lc d liu c thu thp bi s kin. ngn cc tp tin hay bng truy vt phnh to qu mc gy tn hao h thng, bn c th lc chng ly ra mt tp hp d liu s kin m bn mong mun. V d, bn c th gii hn cc tn ngi s dng Windows trong truy vt cho nhng ngi s dng c th, vic lm ny s gim ng k cc d liu u ra bi nhng ngi dng khc m bn khng quan tm. Nu b lc khng c thit lp, tt c s kin ca cc lp s kin c la chn s b tr v cho u ra ca truy vt. SQL Server Profiler cho thy lm th no SQL Server gii quyt cc truy vn ni b. iu ny cho php cc qun tr vin c th xem chnh xc nhng g cc biu thc Transact-SQL hoc biu thc a chiu (Multi-Dimensional Expressions) c cung cp cho cc my ch v lm th no cc my ch truy cp c s d liu hoc cube(?) tr v kt qu cc thit lp. 1.2 Hp thoi Trace Properties Khi to ra mt du vt mi, hp Trace Properties c hin th (xem hnh 1-1). Hp thoi Trace Properties c hai th mc nh l General v Events Selection. Th th ba - Events Extraction Settings s c kch hot nu s kin XML showplan c chn trong s cc s kin trong th Events Selection.

May 14, 2012

Dch v SQL Profiler

Hnh 1-1: Hp thoi thuc tnh truy vt 1.2.1 Th General Tab Th General cung cp kh nng thit lp cu trc c bn ca cc du vt (chng hn nh tn du vt, mu du vt, cc ty chn tit kim, v thi gian dng li du vt). N cng hin th tn nh cung cp v chng loi, bi v SQL Server Profiler khng gii hn n my d liu. Ngoi ra n cng c th c s dng theo di SQL Server 2005 Analysis Services. Use the template - Danh sch th xung ny c cha mt s mu theo di c xy dng trc. Mi mu l mt tp hp c xc nh trc cc s kin, cc b lc cung cp cho s gim st SQL Server ty theo cc mc ch c th. Cc mu ny c th l mt ni tt bt u khi to ra cc du vt theo di SQL Server. N cng c th gip bn to ra cc mu ring, v khuyn bn nn lm nhng g. Cc mu c cung cp u tt, nhng bn chc chn s mun thu thp thng tin khc nhau hn so vi cc mu cung cp. trnh phi to ra cc trnh theo di tng t lp i lp li, hy to v lu mt bn mu nm bt cc thng tin bn ang quan tm. Save to file - La chn ny s hin th mt hp thoi nhc bn cho mt v tr tp tin lu cc d liu du vt. Tn tp tin mc nh l tn c gn cho trnh theo di vi phn m rng.trc. Tuy nhin, tn tp c May 14, 2012

Dch v SQL Profiler th c thay i nu mun. Kch thc ti a mc nh cho mt tp tin lu vt l 5MB, nhng n c th c thit lp bt k kch thc no. Khi ty chn Save to file c chn, hai ty chn b sung c kch hot l Enable file rollover v Server processes trace data. Enable file rollover - Ty chn ny sinh ra mt tp tin mi mi khi tp tin t c kch thc ti a. Mi tp tin c to ra c t tn ging nh file gc vi mt s tun t c thm vo cui ca tn. Mi tp tin c tun t lin kt vi cc tp tin trc , chng c th c m theo th t, hoc m trong mt ca s lu vt duy nht. Server processes trace data - Ty chn ny s bt my ch m cc trnh lu vt ang chy trn x l cc thng tin lu vt. Mc nh th cc thng tin lu vt c x l bi ng dng Profiler. Trong qu trnh hot ng cao , nu Profiler x l d liu, n c th ngt mt s s kin v thm ch buc chng khng phn hi. Nhng nu my ch x l d liu lu vt, s khng c s kin no b ngt. Tuy vy, qu trnh my ch x l d liu lu vt v chy cc trnh ph ti lu vt t trn my ch, c th c tc ng tiu cc n hiu sut my ch. Save to table - D liu lu vt cng c th c lu vo mt bng thay v mt tp bng cch chn ty chn Save to table. iu ny rt hu ch nu bn mun cc du vt d liu c phn tch bi mt ng dng bn ngoi i hi phi truy cp d liu c lu tr trong mt nh dng quan h. Tuy vy cc du vt ln s to ra mt lng ln d liu c chn vo bng lu tr, iu ny c th gy ra cc vn cho hiu sut my ch. Nu mun tit kim dung lng d liu lu vt vo mt bng, bn c th nh ngha s lng ti a cc hng c php lu tr. Enable trace stop time - Trnh lu vt c th c bt u v cu hnh t ng dng li mt thi gian c xc nh trc bng cch kch hot ty chn "Enable trace stop time" v ch nh mt thi gian dng li. 1.2.2 Th Events Selection Ty chn cung cp kh nng la chn nhng g s kin SQL Server c lu vt (xem hnh 1-2). S kin c nhm li trong 21 nhm s kin ca SQL Server vi tng s 171 s kin SQL Server khc nhau, trong c 10 s

May 14, 2012

10

Dch v SQL Profiler kin cho ngi dng t nh ngha. Ngoi ra cn c 11 nhm dch v phn tch vi 41 s kin ring bit.

Hnh 1-2: S kin c theo di Column Filters - Cng trong th Events Selection l la chn lc cc s kin truy vt (xem hnh 1-3). Kh nng lc d liu l v cng hu ch. V d, nu bn ang x l s c mt ng dng c th, bn c th lc cc s kin c to ra bi cc ng dng m bn quan tm, v trnh phi t mnh sng lc qua tt c cc s kin c to ra bi SQL Server v cc ng dng khc. Organize Columns Ty chn ny cho php bn t cc ct du vt m bn quan tm nht chng c th d dng nhn thy khi xem cc du vt. Bi v khi mt lng ln d liu c th c tr li, rt c th cc ct bn ang quan tm nht s nm ngoi mn hnh chnh. Nt Organize Columns s gip bn ngn chn iu ny.

May 14, 2012

11

Dch v SQL Profiler

Hnh 1-3: Lc s kin truy vt 1.1.3 Th Events Extraction Settings Th Events Extraction Settings (xem hnh 1-4) c kch hot khi mt trong cc s kin SHOWPLAN XML c chn t nhm s kin Performance. Th ny c chia thnh hai nhm hp. Nhm u tin cung cp kh nng lu thng tin SHOWPLAN. Tt c cc thng tin SHOWPLAN c th c lu vo mt tp tin duy nht, hoc nhiu tp tin XML c th c m ra trong SQL Server Management Studio. Khi m ra, k hoch thc hin s c hin th di dng ha, c m t chi tit trong Chng 10. Nhm th hai c s dng lu thng tin kha cht di dng ha. Bi v cc kha cht thng c t ng pht hin v b tiu dit bi SQL Server lm cho chng ta kh khc phc c chng. SQL Server Profiler cung cp kh nng theo di kha cht v cung cp dng ha i din cho chui cc s kin dn n kha cht.

May 14, 2012

12

Dch v SQL Profiler

Hnh 1-4: Ty chn xut d liu s kin

Chng II, Lm vic vi SQL profiler


2.1 Cc mu truy vt Bn c th s dng SQL Server Profiler to cc mu xc nh cc lp s kin v cc ct d liu nm trong cc truy vt. Sau khi bn xc nh v lu tr mt mu, bn c th chy mt truy vn ghi li cc d liu cho tng lp s kin bn la chn. Bn c th s dng mt mu trn rt nhiu cc truy vt; mt mu khng t n thc hin c. SQL Server Profiler cung cp cc mu truy vt c nh ngha trc cho php bn d dng cu hnh cc lp s kin m nhiu kh nng bn s cn n cho cc truy vt c th. V d: The Standard template gip bn khi to mt truy vt chung ghi cc ng nhp, ng xut, cc nhm lnh c hon thnh, v thng tin kt ni. Bn c th s dng mu ny chy cc truy vt m khng cn sa i hoc mt im khi u cho cc mu b sung vi cc cu hnh s kin khc nhau. Ch : Ngoi cc truy vt t cc mu c xc nh trc, SQL Server Profiler thm ch cn cho php bn khi to chng t mt mu trng, khng c cc lp s kin theo mc nh. S dng mu truy vt trng c th May 14, 2012

13

Dch v SQL Profiler hu dng khi mt truy vt k hoch khng ging vi cc cu hnh ca bt k mu c xc nh trc no. SQL Server Profiler c th theo di mt lot cc my ch. V d, bn c th theo di SQL Server 2000, cc Dch v phn tch (Analysis Services), v SQL Server 2005 (v c sau ny). Tuy nhin, cc lp s kin c th c bao gm khng phi l ging nhau vi tng kiu my ch. V vy, SQL Server Profiler duy tr cc mu khc nhau cho cc my ch khc nhau, v lm sn mt mu c th ph hp vi kiu my ch c la chn. 2.1.1 Cc mu c nh ngha trc Ngoi cc mu mc nh, SQL Server Profiler cn bao gm cc mu c xc nh trc theo di cc kiu s kin thng gp. Bng sau y lit k cc mu c xc nh trc, mc ch v cc lp s kin m chng nm bt thng tin. Mc ch ca mu Nm bt c th tc thng tr thc hin lnh (execute) theo thi gian Standard im khi u chung cho vic to mt truy vt. Nm gi tt c cc th tc thng tr v cc nhm lnh Transact-SQL ang chy. S dng gim st hot ng c s d liu chung ca my ch TSQL Nm bt c tt c cc cu lnh Transact-SQL c cung cp bi SQL Server ca khch hng v thi gian thc hin. S dng g li cc ng dng ca khch hng. TSQL_Duration Nm bt c tt c cc cu lnh Transact-SQL c giao li cho SQL Server bi khch hng, thi gian thc hin ca h ( tnh bng mili giy ), v nhm chng bng Tn ca mu SP_Counts May 14, 2012 Cc lp s kin SP:Starting

AuditLogin AuditLogout ExistingConnection RPC:Completed SQL:BatchCompleted SQL:BatchStarting Audit Login Audit Logout ExistingConnection RPC:Starting SQL:BatchStarting RPC:Completed SQL:BatchCompleted

14

Dch v SQL Profiler s duy tr. S dng xc nh cc truy vn chm. TSQL_Grouped Nm bt tt c cc cu lnh Transact-SQL c giao li cho SQL Server v thi gian chng c ban hnh. Nhm thng tin bi ngi dng hoc khch hng m bo co c giao li. S dng iu tra cc truy vn t mt khch hng c th hoc ngi s dng. TSQL_Locks Nm gi tt c cc bo co Transact-SQL m c giao li cho SQL Server bi cc khch hng cng vi cc kha ca cc s kin c bit. S dng khc phc cc kha cht, kha timeout, v cc s kin kha leo thang

Audit Login Audit Logout ExistingConnection RPC:Starting SQL:BatchStarting

TSQL_Replay

BlockedProcessReport SP:StmtCompleted SP:StmtStarting SQL:StmtCompleted SQL:StmtStarting Lock:Cancel Lock:Deadlock Lock:Deadlock Lock:Escalation DeadlockGraph * Lock:Timeout * Nm bt thng tin chi tit v cc CursorClose cu lnh Transact-SQL c yu CursorExecute cu nu cc truy vt c thc CursorOpen hin li. S dng thc hin lp CursorPrepare i lp li iu chnh, chng hn CursorUnprepare nh th nghim lm chun AuditLogin (benchmark). AuditLogout ExistingConnection RPC OutputParameter RPC:Completed RPC:Starting ExecPreparedSQL PrepareSQL SQL:BatchCompleted

May 14, 2012

15

Dch v SQL Profiler SQL:BatchStarting TSQL_SPs Nm bt thng tin chi tit v tt AuditLogin c cc th tc thc hin lu AuditLogout tr. S dng phn tch cc ExistingConnection bc thnh phn ca th tc RPC:Starting thng tr. Thm s SP:Completed kin SP:Recompile nu bn nghi SP:Starting ng rng cc th tc c bin SP:StmtStarting dch li SQL:BatchStarting Tuning Nm bt thng tin v cc th tc RPC:Completed thng tr v Transact-SQL thc SP:StmtCompleted hin hng lot. S dng sn SQL:BatchCompleted xut ra du vt m Database Engine Tuning Advisor c th s dng nh l mt lng cng vic iu chnh c s d liu. Ch thch: * Ch s dng i vi SQL Server 2005 hoc 2008 2.1.2 Mu mc nh SQL Server Profiler s t ng ch nh mu Standard nh mu mc nh p dng cho mi du vt mi. Tuy nhin, bn c th thay i mu mc nh cho bt k mu no c xc nh trc hoc s dng c xc nh khc. thay i cc mu mc nh, bn chn hp kim Use as a default template for selected server type khi to hoc chnh sa mt mu bng cch s dng th General ca hp thoi Template Trace Properties. iu hng n hp Template Trace Properties, vo menu File ca Server SQL Profiler, chn Templates, v sau nhp vo New Template hoc Edit Template. Lu : Cc mu mc nh l c th cho mi loi my ch. Thay i mc nh cho mt loi my ch khng nh hng n cc mu mc nh cho bt k loi my ch khc. 2.2 Quyn yu cu chy SQL Server Profiler

May 14, 2012

16

Dch v SQL Profiler By default, running SQL Server Profiler requires the same user permissions as the Transact-SQL stored procedures that are used to create traces. To run SQL Server Profiler, users must be granted the ALTER TRACE permission. For more information, see GRANT Server Permissions (Transact-SQL). Theo mc nh, chy SQL Server Profiler yu cu cho php ngi dng tng t nh th tc thng tr Transact-SQL s dng to ra du vt. chy SQL Server Profiler, ngi s dng phi c cp php ALTER TRACE. 2.2.1 Quyn s dng pht li truy vt Pht li bn lu cng yu cu ngi dng phi c quyn ALTER TRACE. Tuy nhin, trong qu trnh pht li, SQL Server Profiler s dng lnh EXECUTE AS nu mt s kin kim ton ng nhp (Audit Login) c bt gp th SQL Server Profiler s dng lnh EXECUTE AS ng vai ngi dng Nu SQL Server Profiler gp phi mt s kin ng nhp trong mt bn lu ang c ti hin li, kim tra quyn sau y c thc hin: 1. Ngi dng 1 c s quyn ALTER TRACE, bt u pht li mt bn lu. 2. Mt s kin ng nhp cho ngi dng 2 c bt gp trong lc pht li cc bn lu. 3. SQL Server Profiler s dng lnh EXECUTE AS ng vai ngi dng th 2. 4. SQL Server c gng xc thc ngi s dng th 2, v ty thuc vo kt qu, mt trong nhng iu sau y xy ra: a. Nu ngi dng th 2 khng th chng thc, SQL Server Profiler s tr v mt li, v tip tc pht li cc bn lu nh ngi dng th nht. b. Nu ngi dng th 2 xc thc thnh cng, th pht li cc bn lu nh ngi dng th 2 v tip tc. 5. Quyn cho ngi dng th 2 c kim tra trn c s d liu mc tiu, v ty thuc vo kt qu, mt trong nhng iu sau y xy ra:

May 14, 2012

17

Dch v SQL Profiler a. Nu ngi dng th 2 c quyn truy cp vo c s d liu mc tiu, ng vai thnh cng, v bn lu c pht li l ngi dng th 2 b. Nu ngi dng th 2 khng c quyn truy cp vo c s d liu mc tiu, my ch kim tra mt ngi dng khch trn c s d liu . 6. Kim tra s tn ti mt ngi dng khch trn c s d liu mc tiu, v ty thuc vo kt qu, mt trong nhng iu sau y xy ra: a. Nu ti khon ca khch tn ti, cc bn lu c ti hin li nh l ti khon ca khch. b. Nu ti khon ca khch khng tn ti trn c s d liu mc tiu, mt li c tr li v cc bn lu c pht li nh ngi dng th nht S di y cho thy qu trnh cho php kim tra khi pht li bn lu:

2.3 Lu cc truy vt v cc mu truy

May 14, 2012

18

Dch v SQL Profiler iu quan trng l phn bit tp tin truy vt t vic lu mu cc truy vt. Lu mt tp tin truy vt lin quan n vic lu d liu s kin c ghi li n mt ni quy nh. Lu mt mu truy vt lin quan n vic lu nh ngha ca cc truy vt, chng hn nh d liu quy nh cc ct, cc lp hc s kin, hoc cc b lc. 2.3.1 Lu cc truy vt Lu tr d liu ca s kin ly c vo mt tp tin hoc mt bng SQL Server khi bn cn phn tch hoc chy li d liu ly c ti mt thi gian sau . S dng mt file truy vt lm nh sau:

S dng mt tp tin truy vt hoc bng truy vt to ra mt khi lng cng vic c s dng nh l u vo Database Engine Tuning Advisor. S dng mt file truy vt nm bt cc s kin v gi file truy vt cc nh cung cp h tr phn tch. Use the query processing tools in SQL Server to access the data or to view the data in SQL Server Profiler. Only members of the sysadmin fixed server role or the table creator can access the trace table directly. S dng cc cng c x l truy vn trong SQL Server truy cp vo d liu hoc xem cc d liu trong SQL Server Profiler. Ch c thnh vin ca sysadmin c vai tr c nh my ch hoc ngi to bng mi c th truy cp vo bng truy vt trc tip. Lu : Lu d liu truy vt ra bng chm hn so vi lu d liu truy vt ra mt tp tin. Mt cch khc l lu truy vt d liu vo mt tp tin, m tp tin truy vt, v sau bn c th lu li truy vt nh l mt bng truy vt.

Khi bn s dng mt tp tin truy vt, SQL Server Profiler lu d liu s kin (khng phi nh ngha truy vt) mt tp tin SQL Server Profiler Trace (*.trc). Phn m rng t ng c thm vo cui ca tp tin khi file truy vt c lu.V d, nu bn ch nh mt tp tin truy vt gi l Trace.dat, tp tin c to ra c gi l Trace.dat.trc. 2.3.2 Lu cc bn mu Cc nh ngha bn mu ca mt truy vt bao gm cc lp s kin, d liu ct, b lc, v tt c cc thuc tnh khc (khng c cc d liu s May 14, 2012

19

Dch v SQL Profiler kin) c s dng to ra mt truy vt. SQL Server Profiler cung cp cc mu h thng c xc nh trc cho cc nhim v truy tm thng thng v cho cc nhim v c th, chng hn nh to ra mt khi lng cng vic m Database Engine Tuning Advisor c th s dng iu chnh thit k c s d liu vt l. Bn cng c th to v lu cc mu ca ring mnh. 2.3.3 Nhp v xut cc mu SQL Server Profiler cho php bn nhp v xut cc mu t mt my ch ny sang cc my ch khc. Xut mt mu di chuyn mt bn sao ca mu hin ti ti th mc m bn ch nh. Nhp mt mu lm bn sao ca mu m bn ch nh. Khi nhng mu ny c xem trong SQL Server Profiler, bn c th phn bit chng t cc mu h thng bi thut ng "(user)" theo tn mu. Bn khng th ghi ln hoc chnh sa trc tip mt mu h thng c xc nh trc. 2.3.4 Phn tch hiu sut vi cc mu Nu bn thng xuyn theo di SQL Server, s dng cc mu phn tch hiu sut. Cc mu nm bt cng mt d liu ca s kin mi thi gian v s dng cng mt nh ngha truy vt theo di cc s kin tng t. Bn khng cn xc nh cc lp s kin v cc ct d liu mi ln bn to ra mt truy vt. V d: mt nh cung cp h tr c th cung cp khch hng vi mt mu. Khch hng s dng mu nm bt cc d liu ca s kin theo yu cu, sau c gi n nh cung cp h tr phn tch. 2.4 Sa cha mu lu vt Bn c th chnh sa cc mu c lu trong mt tp tin trn my tnh a phng m SQL Server Profiler ang chy. Bn cng c th chnh sa cc mu c ngun gc t cc file ny. Khi bn chnh sa cc mu hin c, bn phi chnh sa cc thuc tnh mu chng hn nh cc lp s kin v d liu ct, theo th t cc thuc tnh c thit lp ban u, trn th Events Selection ca hp thoi Trace Properties. Cc lp s kin v ct d liu c th c thm vo hoc g b, v cc b lc c th c thay i. Sau khi mu c sa i, mt mu s dng c th c to ra v h thng mu ban u c gi nguyn vn. Bn c th cn ly c mt mu t mt tp tin du vt hin c nu bn khng th nh (hoc khng c lu) cc mu ban u c s dng to May 14, 2012

20

Dch v SQL Profiler ra cc du vt, hoc nu bn mun chy cc du vt tng t vo mt ngy no sau ny. Khi lm vic vi cc lu vt hin c, bn c th xem cc thuc tnh, nhng bn khng th sa i cc thuc tnh. chnh sa cc thuc tnh hy ngng hoc tm dng trnh lu vt. 2.5 Bt u, tm dng, v dng lu vt Sau khi bn xc nh mt du vt mi hoc to ra mt mu bng cch s dng SQL Server Profiler, bn c th bt u, tm dng, hoc ngng thu thp d liu bng cch s dng nh ngha hoc mu du vt mi. 2.5.1 Bt u lu vt Khi bn bt u mt trnh lu vt v ngun c xc nh l mt th hin ca c s d liu SQL Server Analysis Services, SQL Server to ra mt mt hng i lm ni tm gi lu vt cc s kin my ch. Khi bn s dng SQL Server Profiler truy cp vo SQL Trace, mt ca s lu vt mi m ra (nu cha c g c m) khi mt lu vt c bt u, d liu c ngay lp tc b ghi li. Khi bn s dng th tc thng tr h thng Transact-SQL truy cp vo SQL Trace, bn phi bt u mt lu vt mi ln mt th hin ca SQL Server bt u d liu c ghi li. Khi mt lu vt c bt u, bn ch c th sa i tn ca cc du vt. Lu : Khi lm vic vi cc du vt hin c, bn c th xem cc thuc tnh, nhng bn khng th sa i cc thuc tnh. chnh sa thuc tnh hy ngng hoc tm dng cc lu vt. 2.5.2 Tm dng lu vt Khi bn tm dng mt lu vt, bn chn cc d liu s kin t khi dng cho n khi cc lu vt c khi ng li. Khi ng li mt lu vt cho php truy vt c tip tc hot ng. Khng c d liu c ghi li trc b mt sau khi khi ng li. Khi cc du vt c khi ng li, d liu c ghi li t tr i. Trong khi mt du vt b tm dng, bn c th thay i tn, cc s kin, ct, v cc b lc. Tuy nhin, bn khng th thay i ni m bn ang gi d liu du vt, v cng khng thay i kt ni my ch.

May 14, 2012

21

Dch v SQL Profiler 2.5.3 Dng lu vt Dng mt lu vt s dng d liu c ghi li. Sau khi mt lu vt c dng li, n khng th c khi ng li m khng lm mt d liu c ghi li trc , tr khi d liu c ghi vo mt tp tin du vt hoc bng du vt. Bn cng c th lu cc d liu thu thp c mt bng hoc tp tin sau khi dng mt du vt. Tt c cc thuc tnh du vt c chn trc c bo qun khi dng mt du vt. Khi mt du vt dng li, bn c th thay i tn, cc s kin, ct, v cc b lc. 2.6 Tng quan lu vt v nht k hiu sut ca Windows S dng SQL Server Profiler, bn c th m mt bn ghi hiu sut Windows ca Microsoft (Microsoft Windows performance log), chn cc thng k bn mun c lin quan vi mt du vt, v hin th cc thng k hiu sut c la chn cng vi cc du vt trong giao din ngi dng ha ca SQL Server Profiler. Khi bn chn mt s kin trong ca s lu vt, mt thanh mu thng ng trong ca s System Monitor ca s d liu ca SQL Server Profiler cho thy cc d liu bn ghi hiu sut c lin quan vi cc du vt s kin c la chn. tng quan mt du vt vi thng k hiu sut, m mt tp tin du vt hoc bng c cha cc d liu ct StartTime v EndTime, v sau nhp vo Import Performance Data trn menu File ca SQL Server Profiler. Sau , bn c th m mt bn ghi hiu sut, v chn cc i tng theo di h thng v thng k m bn mun c lin quan vi cc du vt. 2.6.1 Xem v phn tch cc du vt vi SQL Server Profiler S dng SQL Server Profiler xem cc d liu s kin c ghi li trong mt du vt. SQL Server Profiler hin th d liu da trn thuc tnh du vt xc nh. Mt cch phn tch d liu SQL Server v sao chp d liu vo mt chng trnh khc, chng hn nh SQL Server hoc c s d liu Engine Tuning Advisor. Cng c c vn iu chnh c s d liu c th s dng mt tp tin du vt c cha nhm lnh SQL (SQL batch) v gi th tc t xa (Remote Procedure Call) cc s kin nu ct vn bn d liu c bao hm trong cc du vt. m bo rng cc s kin chnh xc v cc ct c ghi li s dng vi c s d liu Engine Tuning Advisor, s dng mu iu chnh nh ngha trc c i km vi SQL Server Profiler. May 14, 2012

22

Dch v SQL Profiler Khi bn m mt lu vt bng cch s dng SQL Server Profiler, cc tp tin du vt khng cn phi c phn m rng tp tin trc nu tp tin c to ra bi SQL Server Profiler hay th tc thng tr h thng SQL Trace. Lu : SQL Server Profiler cng c th c cc tp tin ng nhp SQL Trace v cc tp tin kch bn chung chung SQL. Khi m mt tp tin SQL Trace.log m khng c mt phn m rng tp tin .log, chng hn nh trace.txt, SQLTrace_Log s c ch nh nh l nh dng tp tin. Bn c th cu hnh SQL Server Profiler nh dng hin th ngy v thi gian h tr cho vic phn tch du vt. 2.6.2 X l s c d liu S dng SQL Server Profiler, bn c th khc phc s c d liu bng cch nhm cc du vt theo cc ct d liu Duration, CPU, Reads hoc Writes. V d v cc d liu bn c th khc phc s c cc truy vn hot ng km hoc c s lng c bit cao ca cc hot ng c logic. Thng tin b sung c th c tm thy bng cch lu tr du vt ra bng v s dng Transact-SQL truy vn d liu s kin. V d, xc nh: s kin SQL:BatchCompleted c thi gian ch i qu mc, thc hin nhng iu sau y:
1. 2. 3. 4. SELECT FROM WHERE AND TextData, Duration, CPU trace_table_name EventClass = 12 -- SQL:BatchCompleted events CPU < (Duration * 1000)

Lu : Bt u t SQL Server 2005, my ch bo co thi gian ca mt s kin trong micro giy (1/1000000 hoc 10-6 giy) v s lng thi gian CPU c s dng bi cc s kin trong mili giy (1/1000 hoc 10-3 giy). Trong SQL Server 2000, my ch bo co c thi gian v thi gian CPU trong mili giy. Trong SQL Server 2005 v sau , SQL Server Profiler giao din ngi dng ha hin th cc ct Thi gian trong mili giy theo mc nh, nhng khi mt du vt c lu vo mt tp tin hoc mt bng c s d liu, ct gi tr thi gian c vit trong micro. 2.6.3 Hin th Tn Object Khi xem du vt

May 14, 2012

23

Dch v SQL Profiler Nu bn mun hin th tn ca mt i tng ch khng phi l nh danh i tng (Object ID), bn phi nm bt Server Name v d liu ct Database ID cng vi d liu ct Object Name. Nu bn chn nhm theo d liu ct Object ID, hy chc chn rng bn nhm ct Server Name v Database ID trc, v sau mi n ct Object ID. Tng t nh vy, nu bn chn nhm theo ct Index ID, hy chc chn rng bn nhm Server Name, Database ID, v Object ID trc, v sau mi n d liu ct Index ID. Bn phi nhm theo th t ny bi v i tng v ch s ID khng phi l duy nht gia cc my ch v c s d liu (v trong s cc i tng cho ch s ID). 2.6.4 Tm s kin c th Trong thi gian lu vt tm v nhm s kin trong mt truy vt, hy lm theo cc bc sau: Bc 1 To du vt ca bn. Khi xc nh cc du vt, ghi li cc ct d liu Class Event, ClientProcessID, v Start Time trong bt k ct d liu khc m bn mun chp.

Nhm d liu b ghi li trong ct d liu Event Class, v ghi du vt vo mt tp tin hoc bng. nhm cc d liu c ghi li, nhp vo Organize Columns trn th Events Selection ca hp thoi Trace Properties. Bt u cc du vt v dng n sau mt thi gian thch hp c thng qua hay s s kin c lu li.

Bc 2 Tm cc s kin mc tiu. Open the trace file or table, and expand the node of the desired event class; for example, Deadlock Chain. For more information, see How to: Open a Trace File (SQL Server Profiler) or How to: Open a Trace Table (SQL Server Profiler).

M tp tin du vt hoc bng, v m rng cc nt ca lp s kin c mong mun, v d Deadlock Chain. Tm kim thng qua cc d liu du vt cho n khi bn tm thy nhng s kin m bn mun (s dng lnh Find trn menu Edit ca SQL Server Profiler gip bn tm thy gi tr trong cc du

May 14, 2012

24

Dch v SQL Profiler vt). Lu cc gi tr trong ClientProcessID v ct d liu Start Time ca cc s kin m bn theo di. Bc 3 Hin th cc s kin trong bi cnh. Hin th cc thuc tnh du vt v gp nhm theo ct ClientProcessID ch khng phi l theo ct Event Class. Expand the nodes of each client process ID you want to view. Search through the trace manually, or use Find until you find the previously noted Start Time values of the target events. The events are displayed in chronological order with the other events that belong to each selected client process ID. For example, the Deadlock and Deadlock Chain events, captured within the trace, appear immediately after the SQL:BatchStarting events within the expanded client process ID. M rng cc nt ca mi tin trnh khch ID m bn mun xem. Tm kim thng qua cc du vt bng tay hoc s dng tm kim cho n khi bn tm thy thi gian bt u ng lu trc y ca s kin mc tiu. Cc s kin c hin th theo th t thi gian cng vi cc s kin khc thuc tng la chn ca tin trnh ID khch. V d: s kin Deadlock v Deadlock Chain, b gi li trong cc du vt, xut hin ngay lp tc sau s kin SQL:BatchStarting trong m rng ca tin trnh khch ID. K thut tng t c th c s dng tm thy bt k s kin nhm no. Mt khi bn tm thy cc s kin m bn mun, nhm chng bi ClientProcessID, ClientProcessID, hoc bt k mt lp s kin khc xem hot ng c lin quan theo th t thi gian. 2.7 Phn tch kha cht vi SQL Server Profiler S dng SQL Server Profiler xc nh nguyn nhn ca mt kha cht. Kha cht xy ra khi c mt s ph thuc theo chu k gia hai hoc nhiu ch , hoc cc tin trnh, i vi mt s tp hp cc ti nguyn trong SQL Server. S dng SQL Server Profiler, bn c th to ra mt theo di bn ghi, replay, v hin th cc kha cht ca s kin phn tch. theo di cc s kin kha cht, thm lp s kin Deadlock graph vo truy vt. Lp s kin ny nm ct TextData vi d liu XML v qu trnh v cc i tng c lin quan n kha cht. SQL Server Profiler c th tch ra cc ti liu XML t file XML ca kha cht, cc ti liu ny bn c th xem sau trong SQL Server Management Studio. Bn c th cu hnh SQL Server Profiler trch xut th kha cht ca cc s kin vo mt tp tin duy nht c cha tt c cc s kin th kha cht, hoc cc tp tin ring bit. Khai thc ny c th c thc hin trong bt k trong nhng cch sau y: May 14, 2012

25

Dch v SQL Profiler cu hnh thi gian ca truy vt, s dng th Events Extraction Settings. Lu rng th ny khng xut hin cho n khi bn chn s kin Deadlock graph trn th Events Selection. S dng ty chn Extract SQL Server Events trn menu File. Tng s kin n l cng c th c trch xut v lu li bng cch nhp chut phi mt s kin c th v chn Extract Event Data.

2.7.1 Biu kha cht SQL Server Profiler and SQL Server Management Studio s dng biu ch i kha cht m t kha cht. Biu ch i kha cht bao gm: cc nt qu trnh, cc nt ti nguyn, v cc cnh i din cho cc mi quan h gia cc qu trnh v cc ti nguyn. Cc thnh phn ca biu ch c xc nh trong bng sau y: Process node (nt tin trnh) Mt ch thc hin cc tc v nh l: INSERT, UPDATE, hoc DELETE. Resource node (nt ti nguyn) Mt i tng c s d liu v du: TABLE, INDEX, ROW. Edge (bin) Mt mi quan h gia mt tin trnh v mt ngun. Mt cnh yu cu xy ra khi qu trnh ch i ti nguyn. Mt cnh s hu xy ra khi ti nguyn ch i qu trnh. Cc ch kha c bao gm trong m t cnh. V d ch X i vi. 2.7.2 Nt tin trnh kha cht In a wait-for graph, the process node contains information about the process. The following table explains the components of a process. Trong biu ch i, nt tin trnh cha thng tin v tin trnh. Bng sau y gii thch thnh phn ca 1 tin trnh. Thnh phn Server process Id M t nh danh tin trnh my ch (SPID), mt nh danh my ch c phn cng cho qu trnh s hu kha.

Server batch Id nh danh nhm lnh ca my ch (SBID).

May 14, 2012

26

Dch v SQL Profiler Execution context Id Bi cnh thc hin nh danh (ECID). ECID lin quan n 1 SPID c th ECID = {0, 1, 2, 3,... n}, trong 0 i din cho cc ch chnh hoc cha m, {1, 2, 3,... n} i din cho cc ch con. Deadlock priority Deadlock priority for the process. For more information about possible values, see SET DEADLOCK_PRIORITY (Transact-SQL). Kha cht u tin cho tin trnh. Log Used S lng ca khng gian nht k c s dng bi tin trnh ny. ID giao dch ca cc tin trnh ang s dng cc giao dch v hin ang ch i vo mt kha. Con tr m t giao dch miu t trng thi giao dch.

Owner Id

Transaction descriptor Input buffer

B m u vo ca qu trnh hin hnh, xc nh cc loi s kin v cu lnh ang c thc hin. Cc gi tr c th bao gm: Language RPC (Remote procedure call) None Loi cu lnh. Cc gi tr c th l:

Statement

NOP (No Operation) SELECT UPDATE INSERT DELETE Unknown

2.7.3 Nt ngun kha cht May 14, 2012

27

Dch v SQL Profiler Trong kha cht, hai tin trnh ang cng ch i mt ngun ti nguyn c t chc bi tin khc. Trong mt th kha cht, cc ngun ti nguyn c hin th nh cc nt ngun. Mi ti nguyn s l mt trong nhng loi c lit k trong Kha chi tit (Lock Granularity) v h thng th bc (Hierarchies). 2.8 Phn tch cc truy vn vi cc kt qu t SHOWPLAN Bn c th thm cc lp s kin Showplan vo nh ngha theo di l nguyn nhn SQL Server Profiler thu thp v hin th thng tin k hoch truy vn trong cc theo di. N cng c th trch xut cc s kin Showplan t cc s kin c thu thp trong theo di khc v lu nhng s kin Showplan trong mt tp tin XML ring bit. 2.8.1 Trch xut cc s kin Showplan Trch xut cc s kin Showplan t cc du vt c th c thc hin trong bt k nhng cch sau y:

Trong cu hnh thi gian ca theo di, s dng th Events Extraction Settings. Ch rng th ny ch xut hin khi bn chn 1 trong cc s kin Showplan trong th Events Selection. S dng ty chn Extract SQL Server Events trong File menu. Trch xut v lu tr cc s kin n l bng cch kch chut phi vo mt s kin c th v la chn Extract Event Data.

2.8.2 Cc s kin Showplan Cc s kin Showplan ca theo di c lit k v m t trong bng sau y Tn s kin Performance statistics M t Cho bit thi gian ln u mt Showplan c bin dch, khi n c bin dch li, v khi n c b t b nh cache. Ct TextData cha cc Showplan trong nh dng XML. Hin th cc k hoch truy vn vi cc chi tit bin son y ca cu lnh Transact-SQL thc hin. V d, n c th hin th chi ph d ton v danh sch ct.

Showplan All

May 14, 2012

28

Dch v SQL Profiler Showplan All For Query Compile Xy ra khi mt truy vn c bin dch hoc bin dch li trn SQL Server. y l thi gian bin dch bn sao ca s kin Showplan All. Showplan All xy ra khi mt truy vn c thc hin. Showplan All For Query Compile xy ra khi mt truy vn c bin dch.

Showplan Statistics Profile Showplan Text

Hin th cc k hoch truy vn chi tit vi y thi gian chy cc cu lnh Transact-SQL c thc thi, bao gm s lng thc t ca hng i qua tng hot ng. Hin th nh d liu nh phn, cy k hoch truy vn ca cc cu lnh Transact-SQL c thc thi. Hin th nh cc vn bn cy k hoch truy vn ca cc cu lnh Transact-SQL c thc thi. Lp s kin hin th cng mt thng tin nh vn bn Showplan, ngoi tr lp s kin ny hin th vn bn thay v d liu nh phn.

Showplan Text (Cha m ha)

Showplan XML Hin th cc k hoch truy vn y vi cc d liu thu thp trong qu trnh ti u ha truy vn. S kin ny c to ra ch khi mt k hoch truy vn c ti u ha. Showplan XML Hin th cc k hoch truy vn khi truy vn c bin dch. For Query Compile Showplan XML Hin th cc k hoch truy vn vi y thi gian chy chi tit trong nh dng XML. V d, lp s kin ny thu Statistics ht s lng hng i qua mi nh khai thc ca cc cu Profile lnh Transact-SQL c thc thi. 2.9 Lc du vt vi SQL Server Profiler Bn c th nh ngha cc b lc trn cc ct d liu cho SQL Server Profiler theo di s kin thng tin c gi li ch dnh cho nhng s kin m bn ang quan tm. B lc theo di lm gim tc ng ca vic truy tm v

May 14, 2012

29

Dch v SQL Profiler hiu nng h thng bi v s kin t c gi trong cc theo di. Lc cng lm cho u ra theo di d c hn v vic tm kim thng qua t s kin hn. 2.10 Xem li theo di Replay l kh nng lu mt du vt v pht li n sau ny. Chc nng ny cho php bn ti to hot ng c ghi li trong mt theo di. Khi bn to hoc chnh sa mt theo di, bn c th lu chng pht li sau ny. SQL Server Profiler c tnh nng nh mt cng c pht li a lung c th m phng cc kt ni ngi s dng v SQL Server Authentication. Replay rt hu ch khc phc s c ng dng hoc vn trong tin trnh. Khi bn xc nh c vn v thc hin chnh sa, chy cc du vt mt ln na tm thy vn tim n nhm sa cha ng dng hoc tin trnh. Sau , pht li cc du vt ban u v so snh kt qu. Pht li truy vt h tr g li bng cch s dng cc ty chn Toggle Breakpoint (bt tt im ngt) v Run to Cursor (chy n con tr) trong menu Replay ca SQL Server Profiler. Cc ty chn ny, ci thin vic phn tch cc tp lnh di bi v chng c th chia cc replay ca du vt thnh cc on ngn h c th th phn tch nhanh hn. i vi thng tin v cc iu khon cn thit pht li theo di, xem Quyn yu cu chy SQL Server Profiler. 2.10.1 iu kin pht li Ngoi ra bt k lp hc s kin khc m bn mun theo di, cc lp s kin sauy phi c chp trong mt du vt cho php cc du vt c thc hin li(lu rng nhng s kin c kch hot theo mc nh nu cc muTSQL_Replay du vt c s dng cu hnh mt du vtsau c s dng cho pht li): CursorClose (*) CursorExecute (*) CursorOpen (*) CursorPrepare (*) CursorUnprepare (*) Audit Login Audit Logout

May 14, 2012

30

Dch v SQL Profiler ExistingConnection RPC Output Parameter RPC:Completed RPC:Starting Exec Prepared SQL (**) Prepare SQL (**) SQL:BatchCompleted SQL:BatchStarting SQL:BatchCompleted SQL:BatchStarting

Ch thch: (*) ch cn thit khi pht li con tr pha my ch (**) ch cn thit khi chy cc cu lnh SQL c chun b bn pha my ch Ngoi ra bt k ct d liu khc no m bn mun nm gi, cc ct d liu sau y phi c nm gi trong mt truy vt cho php cc truy vt c thc hin li: Event Class EventSequence TextData Application Name LoginName DatabaseName Database ID ClientProcessID HostName ServerName Binary Data SPID StartTime EndTime IsSystem NTDomainName NTUserName

May 14, 2012

31

Dch v SQL Profiler Ch : S dng cc mu truy vt TSQL_Replay cho cc truy vt thu thp d liu pht li. Trong SQL Server, pht li kim tra s hin din ca cc s kin v cc ct cn thit. S thay i ny s gip ci thin tnh chnh xc ca vic pht li v ly nhng phng on ra khi x l s c pht li khi d liu c yu cu b thiu. Pht li tr v mt li v dng pht li mt tp tin khi d liu yu cu b thiu t mt truy vt. pht li mt truy vt i vi mt my ch (mc tiu) m trn SQL Server hot ng khc vi cc my ch c truy tm (m ngun), chc chn rng nhng iu sau y c thc hin: Tt c cc ng nhp v ngi s dng c cha trong truy vt phi c sn sng c khi to trn mc tiu v trong c s d liu tng t nh l mt ngun. Tt c cc ng nhp v ngi s dng trong mc tiu phi c s cho php nh nhau ging nh chng c trong ngun. Tt c cc mt khu ng nhp phi ging nh nhng thc hin pht li ca ngi s dng. M c s d liu IDs trn mc tiu l tng nn ging nh cc m trn ngun. Tuy nhin, nu chng khng ging nhau, s kt hp c th c thc hin da trn tn ca DatabaseName nu n ang xut hin truy vt. Mc nh c s d liu cho mi ng nhp cha trong truy vt phi c thit lp (trn mc tiu) vo c s d liu mc tiu tng ng ca ng nhp. V d, vt c replayed bao gm hot ng cho ng nhp, Fred, trong c s d liu Fred_Db vo ngun. V vy, trong mc tiu, c s d liu mc nh cho ng nhp, Fred, phi c thit lp cho c s d liu ph hp vi Fred_Db (ngay c khi tn c s d liu l khc nhau). thit lp c s d liu mc nh ng nhp, s dng th tc thng tr h thng sp_defaultdb. Cc s kin pht li c lin kt vi cc kt qu ng nhp li hoc khng chnh xc trong cc li pht li, nhng cc hot ng pht li vn tip tc. 2.10.2 Cc ty chn pht li Trc khi pht li mt truy vt ly c, bn c th ch nh cc ty chn sau trong hp thoi cu hnh pht li (Replay Configuration). khi ng hp

May 14, 2012

32

Dch v SQL Profiler thoi ny, m tp tin pht li tp tin truy vt hoc bng trong SQL Server Profiler, v trn thc n RePlay, kch chn Start Xem thng tin v th m nhng s cp php c yu cu pht li mt truy vt, xem cc quyn cn thit (Permissions Required) chy SQL Server Profiler. Cc ty chn pht li c bn Replay server (Pht li my ch) My ch l tn ca mt thc th SQL Server m bn mun pht li truy vt. My ch phi tun theo cc yu cu pht li c m t trong cc yu cu pht li. Save to file (Lu ra tp tin) Tp tin u ra, ni m kt qu ca mt truy vt pht li c vit bng vn bn xem sau. Theo mc nh, SQL Server Profiler ch hin th kt qu ca truy vt pht li trn mn hnh. Save to table (Lu ra bng) Bng c s d liu ni m kt qu ca truy vt pht li c vit bng vn bn xem sau. Number of replay threads (Th t ca cc ngun pht li) Xc nh th t ca cc dng iu khin pht li s dng ng thi. Mt s lng cao hn tiu th nhiu ti nguyn hn trong sut qu trnh pht li, nhng pht li nhanh hn. Trt t ca s kin khng c duy tr y khi nhiu ch cng c s dng

Replay events in the order they were traced (Pht li cc s


kin theo th t chng c bt ngun t) Cho php bn s dng cc phng php g li nh b qua tng du vt. Nu la chn ny khi khng c chn, vic thc hin li khng m bo rng cc s kin ny c ti hin li trong mt trt t ph hp vi th t m trong cc s kin ban u nm gi Replay events using multiple threads (Pht li cc s kin bng cch s dng nhiu ti)

May 14, 2012

33

Dch v SQL Profiler Ti u ho hiu qu v v hiu ho sa li. S kin ny s c ti hin theo th t chng c ghi nhn trong mt my ch c th qu trnh ID (dch v SPID), nhng th t ca SPID khng m bo Display replay results (Hin th kt qu pht li) Hin th kt qu pht li. y l tu chn mc nh. Nu cc truy vt m bn ang chy li l rt ln, bn c th cn tt n tit kim b nh a. Ch : i vi hiu sut pht li tt nht, chng ti khuyn bn nn la chn chy li cc s kin bng cch s dng nhiu lung ch , v khng la chn hin th cc kt qu pht li.

Cc tu chn pht li nng cao Replay system SPIDs (Pht li h thng SPIDs) Pht li tt c SPIDs. y l tu chn mc nh. Replay one SPID only (Pht li mt SPID duy nht) Pht li cc s SPID bn chn t danh sch. Limit replay by date and time (Hn ch pht li theo ngy v thi gian) Pht li cc truy vt cho Start time v End time xc nh. Health monitor wait interval (Khong thi gian ch i kim tra y t) Thit lp s lung thi gian mt qu trnh uc cho php chy truc khi b kim tra y t chm dt n.

Health monitor poll interval (Khong thi gian tham d kim tra y t) Thit lp thung xuyn cc cuc thm d theo di y t cc ng c vin cho s kt thc.

Enable SQL Server blocked processes monitor (Kch hot tnh nng chn qu trnh gim st my ch SQL) Thit lp mc thung xuyn cc quy trnh tm kim theo di chn cho cc qu trnh chn hoc b chn May 14, 2012

34

Dch v SQL Profiler 2.10.3 Gii thiu v health monitor Health monitor l mt ch c ng dng theo di cc qu trnh m phng c lin quan trong mt truy vt pht li, v kt thc cc tin trnh ang b chn trong khi pht li. Trong tab Advanced Replay Options ca hp thoi Replay Configuration, bn c th ch nh bao lu th Health monitor nn ch i trong vi giy truc khi kt thc mt qu trnh b chn (khong thi gian ch i Health monitor). Nu bn thit lp khong thi gian l 0, Health monitor s khng bao gi kt thc qu trnh m phng ngn chn cc truy vt pht li. 2.10.4 Ch khi pht li cc truy vt SQL Server Profiler khng th pht li theo cc kiu truy vt sau : Cc truy vt c cha bn sao giao dch v cc nht k hot ng giao dch khc. Cc s kin ny uc b qua. Cc loi khc ca bn sao khng nh du ng nhp giao dch nn chng khng b nh hung . Nhng truy vt c cha cc hot ng lin quan n vic nh dng duy nht tng th ( GUID ). Cc s kin ny s b b qua. Cc truy vt c cha cc hot ng trn vn bn text, ntext, v cc ct hnh nh image lin quan n cc tin ch bcp, khi lung ci t BULK INSERT, c vn bn READTEXT, vit vn bn WRITETEXT, v cc cu lnh cp nht vn bn UPDATETEXT, v cc vn bn hot ng y . Cc s kin ny uc b qua Cc truy vt c cha cc phin rng buc : cc th tc d tr h thng sp_getbindtoken v sp_bindsession. Cc s kin ny uc b qua. SQL Server Profiler khng h tr pht li cc truy vt uc thu thp bi Microsoft SQL Server phin bn 7. 0 hoc trc . Ch : Trong SQL Server 2005 hoc trc. Nu bn khng s dng cc mu pht li cu hnh c sn (TSQL_Replay), v khng ly uc tt c d liu cn thit, SQL Server Profiler khng pht li cc truy vt. 2.11 Cc chui s kin s dng SQL Server Profiler Buc u tin trong vic s dng SQL Server Profiler xc nh l do ca bn theo di mt thc th ca SQL Server. Ch ny tho lun v cc chui s kin in hnh, ni bn c th s dng SQL Server Profiler thu thp thng tin truy vt. Cc chui s kin in hnh s dng SQL Server Profiler bao gm :

May 14, 2012

35

Dch v SQL Profiler 2.11.1 Tm kim cc hot ng truy vn ti nht V d: bn c th khi to cc truy vt nm bt cc s kin lin quan n cc lp s kin TSQL v Stored Procedure (RPC:Completed v SQL:BatchCompleted). Bao gm tt cc cc ct d liu trong truy vt, nhm bi s duy tr Duration, v cc tiu chun s kin ch r. V d, nu bn ch r s duy tr Duration ca s kin t nht phi l 10000 micro giy, bn c th loi b cc s kin trong thi gian ngn hn t truy vt. Gi tr ti thiu ca s duy tr Duration c th uc tng ln theo yu cu. Nu bn mun theo di ch mt c s d liu ti mt thi im, ch r mt gi tr cho cc tiu chun s kin DatabaseID. 2.11.2 Xc nh nguyn nhn gy ra kho cht V d, bn c th khi to mt truy vt nm gi cc s kin lin quan ti cc lp s kin TSQL v Stored Procedure (RPC:Starting and SQL:BatchStarting) v cc lp s kin Locks (Deadlock graph, Lock:Deadlock or Lock:DeadlockChain). Bao gm cc ct d liu trong truy vt v nhm bi lp s kin EventClass. Nu bn mun theo di duy nht mt c s d liu ti mt thi im, xc nh mt gi tr cho cc tiu chun ca s kin DatabaseID. Nu bn ch nh lp s kin Deadlock graph, SQL Server Profiler sn xut ra mt th i din cho kho cht. xem cc kt ni c lin quan n mt kho cht, lm theo mt trong nhng iu sau : M mt truy vt c cha d liu ly uc, nhm d liu bng ClientProcessID, v m rng c hai kt ni c lin quan n kho cht Lu gi d liu ly uc vo mt tp tin truy vt, v m tp tin truy vt hai ln lm cho thy uc tp tin trong hai ca s SQL Server Profiler ring bit. Nhm d liu ly c ti ClientProcessID v sau m rng ID x l ca khch hng b lin quan n trong kho cht; mi s lin kt b nh tr th trong mt ca s ring bit. Chia cc ca s xem cc s kin gy ra kho cht. Nu bn mun lu tr d liu ca th kho cht c th vo mt tp tin, chut phi vo s kin kho cht v chn Extract Event Data. 2.11.3 Gim st lu tr cc th tc thc hin.

May 14, 2012

36

Dch v SQL Profiler V d, bn c th to mt truy vt m nm gi cc s kin lin quan n cc lp s kin ca th tc lu gi Stored Procedure ( SP:Completed, SP:Starting, SP:StmtCompleted v SP:StmtStarting), v cc lp hc s kin TSQL (SQL:BatchStarting v SQL:BatchCompleted). Bao gm tt c cc d liu cn thit ct trong truy vt v nhm theo ClientProcessID. Nu bn mun gim st duy nht mt c s d liu trong mt thi gian, s dng cc b lc c s d liu ID ( Database ID ) xc nh mt gi tr cho cc tiu chun ca s kin DatabaseID. Tng t, nu bn mun gim st ch c mt th tc c lu tr ti mt thi im, s dng b lc i tng ID ( Object ID ) ch nh mt gi tr cho mt tiu chun s kin Object ID. 2.11.4 Hot ng kim ton SQL Server V d, nu qun tr an ninh lun lun cn phi bit nhng ngi dng ng nhp vo my ch, mt truy vt SQL Server Profiler c th cung cp mt h s hon chnh ca ngi dng ng nhp hoc tt my ch. Thng tin ny sau c th c s dng cho cc mc ch php l hoc k thut. To mt truy vt, chn cc s kin Audit Login. tr v cc thng tin thch hp, ch nh cc ct d liu sau: EventClass (c chn theo mc nh), EventSubClass, LoginSID, LoginName. 2.11.5 Theo di hot ng Transact-SQL vi tng ngi dng. Bn c th to mt truy vt m nm gi cc s kin lin quan n cc tng lp s kin lin quan Session, ExistingConnection, v TSQL. Bao gm tt c cc d liu ct trong du vt, khng ch r bt k tiu ch s kin v nhm cc s kin c nm bt bi DBUserName. Thu thp mt mu i din ca cc s kin th nghim ng sut. 2.11.6 Thu thp mt mu i din ca cc s kin th nghim SQL Server Profiler cung cp mt mu TSQL_Replay c xc nh trc c th c s dng iu chnh lp, chng hn nh im chun th nghim. 2.11.7 Thu thp mt mu cc s kin iu chnh thit k c s d liu vt l bng cch s dng c s d liu Engine Tuning Advisor. SQL Server Profiler cung cp mt mu iu chnh c xc nh trc tp hp nhng s kin Transact-SQL thch hp trong u ra truy vt n May 14, 2012

37

Dch v SQL Profiler c th c s dng nh mt khi lng cng vic cho c vn iu chnh c s d liu (Database Engine Tuning Advisor)

Chng III, ng dng dch v SQL Profiler


Phn ny cho bn thy lm th no thu thp thng tin Trnh by c lp v sa cha cc vn ng dng c s d liu. Cc hng dn cho cc du vt prov (?) c th c kt hp thnh mt du vt ton din, hoc chy ring. Mt tiu ch quan trng khi s dng Profiler l chi ph. Chy Profiler tng tc c th to rt nhiu chi ph my ch v to ra mt yu t khng chc chn ln. Profiler ch l mt giao din ha xem cc kt qu ca mt du vt SQL. N l mt cng c tuyt vi, nhng i vi c s d liu ln vi mt ti trng giao dch nng, c th bn s mun s dng th tc thng tr sp_trace_setevent, sp_trace_setfilter, sp_trace_setstatus, v sp_trace_create to ra, cu hnh, v chy cc du vt vi cc du vt thu thp d liu trong cc tp tin. Cc d liu sau c th c xem bng cch s dng Profiler trc tip t cc tp tin thu thp c, hoc c th nhp d liu vo mt c s d liu phn tch. C s d liu AdventureWorks c ly lm mu c th ti v t a ch http://msftdbprodsamples.codeplex.com/releases/view/4004 3.1 Phn tch kha cht Nh cp trc , pht hin kha cht l kh d dng bng cch s dng Performance Monitor. Tm hiu l do ti sao s kha cht xy ra l kh khn hn, v i hi cc hot ng ca cc du vt v kim tra cc d liu thu thp vi Profiler. Bt u bng cch m SQL Server Management Studio v kt ni n mt my ch m ch c s d liu AdventureWorks. Sau khi kt ni, Profiler khi ng v to ra mt du vt mi da trn Blanktemplate, nh th hin trong hnh 3-1.

May 14, 2012

38

Dch v SQL Profiler

Hnh 3-1: To mt lu vt mi da trn mu trng (BlankTemplate) Trn th Events Selection, chn s kin kha Deadlock graph v Lock:Deadlock Chain, nh th hin trong hnh 3-2. Ch rng Deadlock graph c la chn, th Events Extraction Settings xut hin.

Hnh 3-2: Chn Deadlock graph v Lock:Deadlock Chain May 14, 2012

39

Dch v SQL Profiler hn ch d liu tr v cho Profiler, nhn vo nt Column Filters v sau chn Database Name. Trong hp Not Like, nhp MSDB ch gim st c s d liu ta quan tm. Nhp vo OK. Hnh 3-3 cho thy cu hnh mong mun. Hy cn thn khi lc c s d liu. N c v ging nh b lc tt nht l mt trong nhng quy nh c th ch c mt c s d liu c th bng cch to ra cc b lc ID c s d liu hoc tn c s d liu ging nh mt gi tr c th. Tuy nhin, c nhiu s kin Profiler khng c mt bi cnh c s d liu c th, v s khng hin th nu bn thit lp cc b lc ny. Thay vo , bn phi bo cho Profiler nhng c s d liu bn khng mun theo di. Cc th kha cht l mt trong nhng s kin nh vy.

Hnh 3-3: Cu hnh mong mun Trong th Event Extraction Settings, chn hp kim "Save Deadlock XML events separately" hp kim v nhp vo mt a im lu cc tp tin (xem hnh 3-4). Chn ty chn lu "Each Deadlock Batch XML in a distinct file" v chn Run.

May 14, 2012

40

Dch v SQL Profiler

Hnh 3-4: Nhp vo mt a im lu cc tp tin Trong SQL Server Management Studio m hai ca s truy vn mi. Trong ca s truy vn u tin (c th gi l SQLQuery1.sql), g on m sau v thc hin n: 1. 2. 3. 4. 5. 6. 7. --Connection 1 USE AdventureWorks; GO BEGIN TRAN UPDATE Person.Address SET City = 'Redmond' WHERE AddressID = 9;

Ti ca s truy vn th hai, nhp vo on m sau v thc hin n: 1. 2. 3. 4. 5. 6. 7. 8. 9. --Connection 2 USE AdventureWorks; GO BEGIN TRAN UPDATE Person.Contact SET LastName = 'Gates' WHERE ContactID = 1; UPDATE Person.Address SET AddressLine1 = '1 Microsoft Way'

May 14, 2012

41

Dch v SQL Profiler 10. WHERE AddressID = 1; Cp nht ny s khng hon thnh v cc giao dch trong kt ni 1 c mt kha c quyn trn cc hng c cp nht trong bng Person.Address. Nhng g ang xy ra ti thi im ny l mt kha chn. Cc giao dch trong kt ni 2 mun cp nht cc hng ang c kha bi kt ni 1. Kha chn c cho php, v s tip tc v thi hn tr khi mt thi gian ch kha c thit lp, cc giao dch b chn hon thnh, hoc mt qun tr vin chm dt cc giao dch b chn. Kt ni u tin, vit v thc thi on code sau y cp nht cc bng Person.Contact: 1. 2. 3. 4. --Connection 1 UPDATE Person. Contact SET FirstName = 'Bill' WHERE ContactID = 1;

Bn cp nht ny gy ra mt kha cht xy ra, bi v c hai kt ni gi kha c quyn trn cc ngun ti nguyn m cc giao dch i lp i hi phi hon thnh.Kha cht c pht hin v tiu dit. Quay tr li Profiler, dng truy vt, v chn hng lp s kin Deadlock graph. th kha cht cho thy cc ID qu trnh my ch v cc ngun b kha b kha cht. Di chut qua mt trong cc qu trnh s tm thy cc tin trnh tham gia vo kha cht, nh trong hnh 3-5. khi phc li bng Person.Contact trng thi ban u ca n, hy chc chn thc thi mt lnh ROLLBACK v giao dch khng b git bi s kha cht. nm bt c script c s dng chy du vt ny, hy nhp vo menu File v chn Export Script Trace Definition For SQL Server 2005 (xem hnh 3-6). Mt hp thoi Save Nh s c hin th. Lu script vi tn DeadLockTrace.SQL. M tp DeadLockTrace. SQL m bn va lu vi SQL Server Management Studio. y l script SQL Server chy to ra cc du vt bn ch cn thc hnh. Bng cch lu li script ny, n c th c chy bt c lc no m khng cn phi khi ng v chy Profiler. May 14, 2012

42

Dch v SQL Profiler

Hnh 3-5: Tin trnh tham gia vo kha cht

Hnh 3-6: Xut nh ngha lu vt Mt khi file du vt b bt, n c th c m ra vi SQL Profiler hoc, trong trng hp cc du tch ln hn, n c th c chn vo mt bng phn tch cT-SQL truy vn thng thng. di chuyn d liu vo mt bng, c th s dng hm fn_trace_gettable. Hm ny yu cu hai tham s u vo: tn ca tp tin du vt c nhp v s lng ti a ca cc tp May 14, 2012

43

Dch v SQL Profiler tin rollover(?) thu thp. Mc nh cho s lng tp tin l s lng ti a ca cc tp tin c thit lp vi cc du vt. V d sau y cho thy cc du vt thu thp trc c th c thm vo mt bng gi l DeadLockTraceTable trong c s d liu AdventureWorks:
1. 2. 3. 4. USE AdventureWorks; GO SELECT * INTO DeadLockTraceTable FROM fn_trace_gettable('C:\ProfilerTraces\DeadLock.trc', NULL);

3.2 Pht hin v phn tch cc truy vn di chy vi Profiler Profiler l mt cng c tuyt vi phn tch kha, cng nh g li th tc thng tr v cc ng dng c s d liu. N cng rt hu ch trong vic xc nh v phn tch cc truy vn di chy cn tr hiu sut ca SQL Server. Profiler c th tr li thng tin thc hin truy vn c th c kim tra bi ngi qun tr c s d liu c lp cc nguyn nhn gy ra cc truy vn di. N c vit qu km? C hay khng ch s (indexes) h tr cc truy vn, hoc l n ch l mt truy vn qui qu? Bt u Profiler v to mt du vt mi gi l QueryTuning bng cch s dng Blanktemplate. Chn cc s kin sau y trn th Events Selection: Performance Showplan XML Stored Procedures SP:Completed TSQL SQL:BatchCompleted Nhp vo nt Column Filters v to ra mt b lc ti c s d liu c tn AdventureWorks, v nhn OK p dng cc b lc. Nhp vo nt Organize Columns. Tm ct Duration v di chuyn n ln u danh sch ct lm cho ta d dng c d liu thi gian. Trn th Events Extraction Settings, chn hp kim "Save XML Showplan events separately". Chn mt ni lu cc thng tin Showplan, v sau chn ty chn lu mi Showplan XML trong mt tp tin ring bit. SQLPlan l phn m rng cho tp tin d liu Showplan. D liu Showplan c lu tr nh XML v c th xem c bng Management Studio, bn s thy sau ny. Khi May 14, 2012

44

Dch v SQL Profiler lu k hoch truy vn trong cc tp tin ring bit, mi tp tin c a ra tn ca tp tin quy nh ti ni c lu,cng vi mt nh danh bng s ni vo cui ca tn. Nhp vo Run bt u cc lu vt. Tip theo, m mt ca s truy vn mi trong SQL Server Management Studio.Nhp v chy on m sau y:
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. USE AdventureWorks; GO SELECT P.ProductID, P.name AS Product, TH.TransactionDate, SUM(TH.Quantity), SUM(TH.ActualCost), SUM(P.StandardCost) FROM Production.Product P INNER JOIN Production.TransactionHistory TH ON P.ProductID = TH.ProductID GROUP BY P.ProductID, P.Name, TH.TransactionDate; GO EXEC dbo.uspGetManagerEmployees 109; GO EXEC dbo.uspGetEmployeeManagers 1; GO SELECT P.name AS Product, SUM(SOD.OrderQty) AS SumQty , SUM(SOD.UnitPrice) AS SumPrice, SUM(SOD.LineTotal) AS SumTotal , CONVERT(char(10), SOH.OrderDate, 101) AS orderDate , CONVERT(char(10), SOH.ShipDate, 101) AS ShipDate , CONVERT(char(10), SOH.DueDate, 101) AS DueDate FROM Sales.SalesOrderDetail SOD INNER JOIN Sales.SalesOrderHeader SOH ON SOH.SalesOrderID = SOD.SalesOrderID INNER JOIN Production.Product P ON P.ProductID = SOD.ProductID GROUP BY P.Name, SOH.OrderDate, SOH.ShipDate, SOH.DueDate;

Sau khi truy vn hon tt, dng lu vt v kim tra kt qu. Ch rng qu trnh chy lu nht l mt trong nhng cui cng tham chiu n bng Sales.SalesOrderHeadertable Sales.SalesOrderdetail v Production.Product. Chuyn n th mc lu tr Showplan v kim tra. Bn s thy 4 tp tin tn l QueryTuning_1.SQLPlan n QueryTuning_4.SQLPlan. Nhp i tp tin QueryTuning_4.SQLPlan. N s m ra vi SQL Server Management Studio l mt k hoch thc hin ha, nh th hin trong hnh 3-7.

May 14, 2012

45

Dch v SQL Profiler

Hnh 3-7: Cc thao tc thc hin trong SQL Server Management Studio c th hin di dng ha Cc thng tin c i din trong hnh 3-7 l thc s lu li di dng XML. iu ny l quan tm c bit cho cc t chc mun s dng d liu Showplan vi cc ng dng phn tch nh Tuning Advisor C s d liu c xy dng phn tch cc k hoch truy vn v xc nh cc khu vc ci thin. Thay i tn ca QueryTuning.SQLPlan thnh QueryTuning.XML. Kch chut phi vo tp tin QueryTuning.XML v chn Open With...Internet Explorer. Cc tp tin Showplan hin th c tr li vi phn tch c php XML tch hp trong InternetExplorer v c d dng xc nh l mt tp tin XML. Cc tp tin Showplan rt hu ch trong vic nh gi qu trnh thc t rng c s d liu s dng ti u ha cc truy vn v xc nh cc khu vc ci tin. Cc Showplans c c t phi sang tri. Di chut qua mt biu tng s hin th thng tin b sung v qu trnh m t, thng cung cp ci nhn su sc trong qu trnh ny c th c ti u ha. V d, nu mt qu trnh cho thy mt chuyn i khng cn thit ng , cc loi d liu c th c thng qua cht ch hn trnh chuyn i ng .

Ph Lc
Ph lc 1 Lu tr cc kt qu truy vt vo mt tp tin I, S dng SQL Server Profiler Ch ny m t lm th no lu kt qu du vt mt tp tin bng cch s dng SQL Server Profiler. 1. Trn menu File, chn New Trace, sau kt ni ti mt thc th ca SQL Server. May 14, 2012

46

Dch v SQL Profiler Xut hin hp thoi Trace Properties. Ch : Nu hp kim Start tracing immediately after making connection c la chon, cc hp thoi li Trace Properties s xut hin khi truy vt bt u. tt thit lp ny, trn mc Tools, chn Options, v b chn hp kim Start tracing immediately after making connection. 2. Trong mc Trace name, nhp tn cho truy vt 3. Chn hp kim tra Save to file. Xut hin hp thot Save As 4. Xc nh mt ng dn v tn tp tin trong hp thoi Save As. Chn Save Ch : m bo rng cc dch v SQL Server c quyn ghi mt tp tin trong th mc ch nh 5. Trong hp thoi Trace Properties, nhp kch thc ln nht ca tp tin trong hp vn bn Set maximum file size (MB). Gi tr mc nh l 5 megabytes (MB). 6. Ty chn, ch nh cc ty chn nh sau :

La chn hp kim tra Enable file rollover c khi to cc tp tin SQL Server Profiler mi cho d liu truy vt mt ln t c kch thc tp tin ti a. Ty chon ny c la chn mc nh. La chon hp kim tra Server processes trace data m bo rng my ch ghi li tng s kin truy vt.

Ch : Khi Server processes trace data (tin trnh my ch theo di d liu) b xa, My ch khng ghi li cc s kin nu cc s kin ghi li lm gim hiu sut ng k. II, S dng TRANSACT - SQL To ra mt nh ngha truy vt. Truy vt mi s trong trng thi dng. C php
1. 2. 3. 4. sp_trace_create [@traceid =] trace_id OUTPUT ,[@options =] option_value ,[@tracefile =] 'trace_file' [,[@maxfilesize =] max_file_size]

May 14, 2012

47

Dch v SQL Profiler


5. 6. [,[@stoptime =] 'stop_time'] [,[@filecount =] 'max_rollover_files']

i s [ @traceid= ] trace_id L s c ch nh bi Microsoft SQL Server cho mt truy vt mi. Bt k ngi dng c cung cp u vo no s b b qua, trace_id l kiu s nguyn (int) vi mc nh l NULL. Ngi s dng cc gi tr trace_id xc nh, sa i, v kim sot cc truy vt c xc nh bi th tc thng tr ny. [ @options= ] option_value Ch nh cc ty chn thit lp cho truy vt option_value l kiu s thc (int), v khng mc nh. Ngi s dng c th la chn mt s kt hp ca cc ty chn ny bng cc xc nh gi tr tng hp cc ty chn c chn. V d, bt cc ty chn TRACE_FILE_ROLLOVER v SHUTDOWN_ON_ERROR, nhp vo 6 cho option_value. Bng sau lit k danh sch cc ty chn, m t, v gi tr ca chng. Tn ty chn Gi tr ty chn 2 M t

TRACE_FILE_ROLLOVER

Ch nh rng khi t c kch thc tp tin ln nht ( max_file_size ), tp tin truy vt hin hnh b ng li v tp tin mi c to ra. Tt c cc h s mi s c vit vo trong tp tin mi. Tp tin mi s c tn tng t nh tp tin trc , nhng mt s nguyn s c ni thm vo cho bit trnh t ca n. V d, nu tp tin truy vt c t tn l filename.trc, tp tin truy vt tip theo c t tn l filename_1.trc, tp tin truy vt tip theo l

May 14, 2012

48

Dch v SQL Profiler filename_2.trc, v v.v Nh nhiu tp tin truy vn chuyn khon c khi to, gi tr s nguyn c ni vo tn tp tin s tng tun t SQL Server s dng gi tr mc nh ca tp tin c kch thc ln nht max_file_size ( 5MB ) nu ty chn ny c quy nh c th m khng cn ch nh gi tr cho tp tin c gi tr ln nht max_file_size. SHUTDOWN_ON_ERROR 4 Ch nh rng nu cc truy vt khng th vit vo tp tin vi bt c l do g, SQL Server s ngng hot ng. Ty chn ny hu dng khi thc hin cc truy vt kim tra bo mt. Ch nh rng mt h s ca 5MB cui cng ca thng tin truy vt c to ra bi my ch s c lu li bi my ch. TRACE_PRODUCE_BLACKBOX khng tng thch vi tt c cc ty chn khc. Ch nh rng nu cc du vt khng th c ghi vo tp tin v l do g, SQL Server s tt.Ty chn ny rt hu ch khi thc hin cc du vt kim ton bo mt. Ch nh rng mt bn ghi 5 MB ca thng tin du vt cui cng c to ra bi my ch s c lu li bi

TRACE_PRODUCE_BLAC KBOX

SHUTDOWN_ON_ERROR

TRACE_PRODUCE_BLAC KBOX

May 14, 2012

49

Dch v SQL Profiler chnh n. TRACE_PRODUCE_BLACKBOX k hng tng thch vi tt c cc ty chn khc. [ @tracefile = ] 'trace_file' Xc nh v tr v tn tp tin m cc du vt s c ghi ln. trace_file c kiu nvarchar(245) khng c mc nh. trace_file c th l mt th mc a phng (nh N'C:\MSSQL\Trace\trace.trc') hoc UNC vo mt chia s hoc ng dn (N'\\servername\sharename\Directory\trace.trc'). SQL Server s ni thm mt.trc m rng cho tt c cc tn tp tin du vt. Nu ty chn TRACE_FILE_ROLLOVER v max_file_size c quy nh, SQL Server to ra mt du vt tp tin mi khi cc tp tin du vt ban u pht trin n kch thc ti a ca n. Cc tp tin mi c cng tn vi file gc, nhng _n c ni thm vo cho bit trnh t ca n, bt u vi 1. V d, nu cc tp tin du vt u tin c t tn l filename.trc, cc tp tin du vt th hai c t tn l filename_1.trc. trace_file khng th c xc nh khi la chn TRACE_PRODUCE_BLACKBOX c s dng. [ @maxfilesize = ] max_file_size Ch nh kch thc ti a theo megabyte(MB) m mt tp tin du vt c th pht trin. max_file_size c kiu bigint, vi mt gi tr mc nh l 5. Nu tham s ny c quy nh c th m khng c ty chn TRACE_FILE_ROLLOVER, cc du vt ngng ghi vo tp tin khi khng gian a c s dng vt qu s lng quy nh bi MAX_FILE_SIZE. [ @stoptime = ] 'stop_time' Xc nh ngy v thi gian s c dng li du vt. stop_time c kiu datetime, vi gi tr mc nh l NULL. Nu NULL, cc du

May 14, 2012

50

Dch v SQL Profiler vt chy cho n khi n c dng li bng tay hoc cho n khi my ch tt. (?)Nu c stop_time v max_file_size c quy nh c th, v TRACE_FILE_ROLLOVER khng c ch nh, cc du vt u khi thi gian dng li c quy nh hoc kch thc tp tin ti a t c. Nu stop_time, max_file_size, v TRACE_FILE_ROLLOVER c quy nh c th, cc du vt dng li thi gian nh trc, gi nh cc du vt khng lp y cc a.

[ @filecount = ] 'max_rollover_files' Ch nh s lng ti a tp tin du vt c duy tr vi cng mt tn tp tin c s. max_rollover_files c kiu int, v lun ln hn mt. Tham s ny l hp l ch khi ty chn TRACE_FILE_ROLLOVER c chn. Khi max_rollover_files chn, SQL Server s c gng duy tr khng c nhiu hn cc tp tin du vt max_rollover_files bng cch xa cc tp tin du vt lu i nht trc khi m mt file du vt mi. SQL Server theo di tui du vt tp tin bng cch thm vo sau tn tp tin c s mt s. V d: khi cc thng s trace_file c quy nh c th nh "c:\mytrace", mt tp tin vi tn "c:\mytrace_123.trc" ln hn mt tp tin vi tn "c:\mytrace_124.trc". Nu max_rollover_files c thit lp 2, sau SQL Server xa cc tp tin "c:\mytrace_123.trc" trc khi to ra cc tp tin du vt "c:\mytrace_125.trc". Ch rng SQL Server ch c gng xa tng tp tin mt ln, v khng th xa mt tp tin ang c s dng bi tin trnh khc. V vy, nu mt ng dng khc ang lm vic vi cc tp tin du vt trong khi cc lu vt ang chy, SQL Server c th li nhng tp tin du vt trong h thng tp tin. Gi tr tr v Bng di y m t cc gi tr m m ngi dng c th nhn c khi thc hin cc th tc thng tr. May 14, 2012

51

Dch v SQL Profiler Gi tr tr v 0 1 10 Khng c li. Li khng xc nh. Ty chn khng hp l. Tr v khi ty chn quy nh khng ph hp. Tp khng c to ra. Vt qu b nh. Tr v khi khng c b nh thc hin cc hnh ng c th. Thi gian ngng khng hp l. Tr v khi thi gian dng li quy nh qua. Cc thng s khng hp l. Tr li khi ngi s dng cung cp cc thng s khng tng thch. M t

12 13

14

15

Ch thch sp_trace_create l th tc thng tr trn SQL Server thc hin nhiu hnh ng trc y thc hin bi xp_trace_* m rng th tc thng tr c sn trong cc phin bn trc ca SQL Server. S dng sp_trace_create thay v:

xp_trace_addnewqueue xp_trace_setqueuecreateinfo xp_trace_setqueuedestination

sp_trace_create ch to ra mt nh ngha du vt. Th tc thng tr ny khng th c s dng bt u hoc thay i mt du vt. Cc thng s ca tt c cc th tc thng tr SQL Trace (sp_trace_xx) c g ng. Nu cc thng s ny khng c gi vi tham s u vo chnh xc cc loi d liu, nh quy nh trong bn m t i s, cc th tc thng tr s tr v mt li. May 14, 2012

52

Dch v SQL Profiler i vi sp_trace_create, SQL Server dch v ti khon phi c c php ghi vo th mc tp tin du vt. Nu ti khon dch v SQL Server khng phi l mt qun tr vin ca my tnh m tp tin du vt c lu trn, bn phi cp php ghi cho ti khon dch v SQL Server . Lu : Bn c th t ng ti cc tp tin to ra du vt vi sp_trace_create vo mt bng bng cch s dng cc hm h thng fn_trace_gettable. TRACE_PRODUCE_BLACKBOX c nhng c im sau y: N l mt du vt ti thit lp. Mc nh file_count l 2 nhng c th c ghi bi ngi s dng bng cch s dng ty chn filecount.

Mc nh file_size nh vi cc du vt khc l 5 MB v c th c thay i. Nu tn tp tin khng c xc nh. Tp tin s c lu li nh: N'%SQLDIR%\MSSQL\DATA\blackbox.trc' Ch c cc s kin sau y v cc ct ca h ang c trong cc du vt: RPC starting Batch starting Exception Attention S kin hoc ct khng c th c thm vo hoc g b t du vt ny. B lc c th khng c xc nh cho lu vt ny.

Quyn Ngi dng phi c quyn ALTER TRACE. Ph lc 2 Lc s kin trong theo di B lc gii hn cc s kin c thu thp trong mt tp du vt. Nu b lc khng c thit lp, tt c cc s kin ca cc lp s kin c la chn s c tr v trong u ra ca trnh lu vt. Khng bt buc phi thit lp mt b lc cho mt trnh lu vt. Tuy nhin, mt b lc s gim thiu cc chi ph pht sinh trong qu trnh truy tm. Bn c th thm cc b lc theo di cc nh ngha bng cch s dng th Events Selection trong hp thoi Trace Properties hoc Trace Template Properties Thit lp b lc May 14, 2012

53

Dch v SQL Profiler 1. Trong hp thoi Trace Properties hoc Trace Template Properties, chn th Events Selection. Th Events Selection cha li kim sot. Li kim sot l bng cha cc lp s kin theo di c. Trong bng c 1 hng cho mi lp s kin. Cc lp s kin c th khc nhau i cht, ty thuc vo loi v phin bn ca my ch m bn ang kt ni. Cc lp s kin c nh danh trong ct Events ca mng li v c gp nhm theo loi s kin. Cc ct cn li trong danh sch cc ct d liu c th c tr li cho mi lp s kin. 2. Chn cc b lc ct (Column Filters.) Hp thoi Edit Filter xut hin. Hp thoi Edit Filter cha mt danh sch cc ton t so snh m bn c th s dng lc cc s kin trong mt theo di. 3. p dng 1 b lc, nhp vo ton t so snh v kiu d liu s dng cho b lc. 4. Nhp OK Nhng lu khi thit lp b lc Nu bn thit lp b lc trn ct StartTime v EndTime ca th la chn s kin th phi chc chn rng :

Ngy bn nhp phi ph hp vi nh dng :YYYY/MM/DD HH:mm:sec. -Hoc-

S dng cc thit lp khu vc hin th gi tr ngy thng (Use regional settings to display date and time values) c chn trong hp thoi General Options. xem hp thoi General Options, trn menu Tools SQL Server Profiler, nhp vo Option. -V-

Ngy bn nhp vo phi nm gia ngy 1 thng 1 nm 1753 v 31 thng 12 nm 9999

Nu bn truy tm cc s kin t cc tin ch osql hoc t cc tin ch sqlcmd, hy ni thm % cho cc b lc trn cc ct d liu TextData.

May 14, 2012

54

Dch v SQL Profiler

Kt lun
Tm li, Microsoft SQL Server Profiler l cng c cung cp mt giao din ngi dng ha cho SQL Trace theo di mt th hin ca Database Engine hoc Analysis Services. Bn c th chp v lu d liu v mi s kin mt tp tin hoc bng phn tch sau ny. V d, bn c th gim st mt mi trng sn xut xem cc th tc lu tr c nh hng n hiu sut bi cc truy vn chm. SQL Server Profiler c s dng cho cc hot ng nh: y mnh thng qua cc truy vn vn tm ra nguyn nhn ca vn . Tm v chn on cc truy vn chy chm. Thu thp hng lot cc bo co Transact-SQL dn n mt vn . Cc du vt lu li sau c th c s dng nhn rng cc vn trn mt my ch th nghim, ni m vn c th c chn on. Gim st hiu qu hot ng ca SQL Server iu chnh khi lng cng vic. Mi tng quan gia cc quy thc hin chn on cc vn . SQL Server Profiler cng h tr kim ton hnh ng thc hin v trng hp caSQL Server. Kim tra h s lin quan n an ninh hnh ng xem xt sau bi mt qun tr vin an ninh.

May 14, 2012

You might also like