Top Banner

of 24

Microsoft SQL Server IO Internals

Jul 06, 2018

Download

Documents

fun1234567
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/17/2019 Microsoft SQL Server IO Internals

    1/24

    MICROSOFT SQL SERVERDATABASE ENGINE I/O

    by Bob Dorr, Microsoft SQL Server ri!ci"#e Esc$#$tio! E!%i!eer, &''( ) rese!t

    B*i#t+ $! -..

  • 8/17/2019 Microsoft SQL Server IO Internals

    2/24

    Are$s Covere0

    1rite A2e$0 Lo%%i!% 31AL4 rotoco# Sy!c2ro!o*s vs Asy!c2ro!o*s I/O Sc$tter / G$t2er I/O Sector $#i%!5e!t, B#oc6 A#i%!5e!t L$tc2i!% $!0 $ "$%e+ A re$0 7$#68t2ro*%2

    SQL Server I/O Si9es D$t$ c$c2e 5$i!te!$!ce AE $!0 A1E Re$0 A2e$0 :ser Mo0e $!0 ;er!e# Mo0e 3S

  • 8/17/2019 Microsoft SQL Server IO Internals

    3/24

    1AL rotoco#

    1rite A2e$0 Lo%%i!% ACID 3D*r$bi#ity ro"erty4 Lo% recor0s sec*re0

    before 0$t$ >$r0e!e0 / St$b#e Me0i$ Lo% co!t$i!s "$rity bit

    • Co55it• Ro##b$c6• Tri%%erS!$"s2ot

  • 8/17/2019 Microsoft SQL Server IO Internals

    4/24

    Sy!c2ro!o*s vsAsy!c2ro!o*s I/O

    Sy!c+ 1$it for Co5"#etio! Asy!c+ ost $!0 Co!ti!*e

      Over#$""e0  Eve!t  Co5"#etio! ort

    SQL Server  '? Asy!c :s$%e

    Over#$""e0 $!0 >$sOver#$""e0IoCo5"#ete0

    Net7or6 L$yers :se Co5"#etio! ort

      B$c6*"/Restore :se Sy!c ) Se@*e!ti$# $tter!s

    • 05io"e!0i!%iore@*ests• Over#$""e0 Str*ct*re• Asy!c rocessi!% C:• $c6$%e vs 2o!e

  • 8/17/2019 Microsoft SQL Server IO Internals

    5/24

    Sc$tter / G$t2er I/O

    Co!so#i0$tes or Distrib*tes AIs

      Re$0Fi#eSc$tter  1riteFi#eG$t2er

    I!cre$ses Ecie!cy :se0 by SQL I/O $t2s :se0 by 1i!0o7s $%e Fi#e

    • O#0 Desi%!+ Sorti!%• A1E Av$i#$bi#ity• 1riteM*#ti"#e

    •  H of ; $%es•  For7$r0 $!0

    B$c67$r0• B*er oo# R$5"8*"

    Dis6

    Me5ory

    G$t2erSc$tter

  • 8/17/2019 Microsoft SQL Server IO Internals

    6/24

    Sector A#i%!5e!tB#oc6 A#i%!5e!t

    Sector+ Lo% 1rites B#oc6+ erfor5$!ce Avoi0 Crossovers Dis6$rt/Dis6$r :ti#ities Disc*ss 7it2 yo*r Ve!0or

    • Do*b#e To*c2• Re7rites• Defr$%5e!t• (; Sectors

    A#i%!5e!t+

    2tt"+//s*""ort5icrosoftco5/6b/'-'('& To verify t2$t $! eisti!% "$rtitio! is $#i%!e0, 0ivi0e t2e si9e of t2e stri"e *!it byt2e st$rti!% oset of t2e RAID 0is6 %ro*" :se t2e fo##o7i!% sy!t$+ 33$rtitio!oset4 J 3Dis6 sector si9e44 / 3Stri"e *!it si9e4

    E$5"#e of $#i%!5e!t c$#c*#$tio!s i! bytes for $ -K8;B stri"e *!it si9e+3 J K&-4 / --&(( .&-.(K3( J K&-4 / --&(( .&-K3&- J K&-4 / --&(( .-K

    3-K J K&-4 / --&(( .K3K&- J K&-4 / --&(( &

    8

    http://support.microsoft.com/kb/929491http://support.microsoft.com/kb/929491

  • 8/17/2019 Microsoft SQL Server IO Internals

    7/24

    L$tc2

    M*#ti"#e Re$0ers 3S>4 O!e 1riter 3E4 rotects I!8Me5ory D$t$ $%e

      L$tc2 2ysic$# rotectio!

      Loc6 Lo%ic$# rotectio! :ser Mo0e :MS/SQLOS A7$re O"ti5i9e0 FIFO Or0eri!%

    • F#*s2e0 Ro##b$c6• L$tc2 Ti5eo*t• S*b8#$tc2

    B:FArr$y

    Me5ory 3D$t$$%es4

    B:FSt$t*sL$tc2D$t$b$seJ$%eI0>$s2 J

    P

  • 8/17/2019 Microsoft SQL Server IO Internals

    8/24

    Re$0i!% A $%e

    Get Free B*er for Re$0 Ac@*ire Ec#*sive 3E4 L$tc2 Is $#re$0y i!85e5ory/2$s2e0 A00 E!try to $%e >$s2

    ost $!0 Recor0 Asy!c2ro!o*s Re$0 … Continue Processing …. C2ec6 St$t*s 3Sc2e0*#er S7itc24 Co5"#ete+ V$#i0$te I/O $!0 Re#e$se L$tc2

    • $%e A*0its• Re$0 retry• St$##e0 I/O 1$r!i!%s• Error r$ise0 $t Ac@*ire• S2$re0 3S>4 7$iters• PAGE_IO* vs PAGE*

    Latch• 1riti!% A $%e

    kernel transition – Stuck I/O?

    ntdll!ZwWriteFile+0xa

    kernel32!WriteFile+0xf

    slser"r!#iskWrite$s%nc+0xee

    &

    .+... *f 71riteFi#e5ov r&.,rc5ov e$,KSysc$##  ;er!e#

     Tr$!sitio!ret

  • 8/17/2019 Microsoft SQL Server IO Internals

    9/24

    Myth+ Si!%#e 1or6er er Fi#eTruth: E$c2 1or6er Iss*es I/O

    1or6er H&

    Vo#H&

    Vo#H&

    Vo#H-

    Vo#H-

    Seri$# #$!se#ect J fro50bTest0botb#Test

    0bTestMDF 0bTestNDF 0bTestLDF

    1or6er H-

    $r$##e# #$!se#ect J fro50bTest0botb#Test

    Create Database1or6ers Assi%!e0 by Vo#*5eID

    ri5$ry 0bTestMDF

    Seco!0$ry 0bTestNDFLo% 0bTestLDF

    1or6er H

    1or6er H(

    1or6er HK

  • 8/17/2019 Microsoft SQL Server IO Internals

    10/24

    D$t$ C$c2e M$i!te!$!ce

    Me5ory ress*re+ L$9y1riter  er N:MA No0e   Ti5e Of L$st Access 3TLA4

    Recovery I!terv$#+ C2ec6"oi!t 

    Q*e*e  I/O T$r%ets  LDF :s$%e Tri%%ers  A#ter!$te Tri%%ers 3B$c6*", Restore, P4  Sc$tter/G$t2er :s$%e 31riteM*#ti"#e4

    • C2ec6"oi!tAssi%!5e!ts• By Or0i!$# S7ee"• St$##e0 I/O ) L1 H.• I/O Q*e*e De"t2 -

  • 8/17/2019 Microsoft SQL Server IO Internals

    11/24

    AE $!0 A1E

    2ysic$# A00ress Ete!sio!s  /AE i! Booti!i  Boots ;er!e# 7it2 bit $00ressi!%  2ysic$# Me5ory (GB  Virt*$# A00ress :!c2$!%e0 3/-%b or /GB4

      A*to5$tic for >ot A00 Me5ory Co5"*ters A00ress 1i!0o7s Ete!sio!

      1i!0o7s AIs 3A##oc$te:ser2ysic$#$%es4  2ysic$# Me5ory A##oc$tio!s  :!/M$""e0 i! or o*t of Virt*$# A00ress R$!%e

    • D$t$ $%es8O!#y• Loc6e0 $%es• 1i!0o7s $%i!%•1i!0o7s -...

    B*%s

    •- Bit A00ress (-'('-'K 3.FFFFFFFF4(GB

    • I!ter#oc6e0 I!str*ctio! lock xadd dword ptr [ecx],eax

    • Bit A00ress &'(K3.FFFFFFFFF4 (GB

  • 8/17/2019 Microsoft SQL Server IO Internals

    12/24

    Re$0 A2e$0

    &- $%es St$!0$r0 S;: &.-( $%es E!ter"rise

    S;: :ses Re$0Fi#eSc$tter #$! B$se0 Decisio!s o7er of Asy!c2ro!o*s

    I/O• Re$0 Over1rite• R$5"8*"

  • 8/17/2019 Microsoft SQL Server IO Internals

    13/24

    S"$rse Fi#es ) Co"y O!1rite

    :s$%e  O!#i!e DBCC  S!$"s2ot D$t$b$ses

    B*er oo#+re"$reToDirty

    Fi#e Co!tro# B#oc6 3FCB4

    C2$i!i!% • S"$rse A##oc$tio!• FCB Tr$c6i!%• 1i!0o7s Li5its• Ne7 $%e

    A##oc$tio!s

  • 8/17/2019 Microsoft SQL Server IO Internals

    14/24

    A0v$!ce0 rotectio!

    12$t is $ Scribb#er D$t$ $%e A*0its

      No!e   Tor! Bits

      C2ec6s*5 Lo% B#oc6 C2ec6s*5 Co!st$!t $%e B$c6*" 7it2 C2ec6s*5

    • DBCC $%e A*0it• St$#e Re$0 C2ec6• SQLIOSi5

  • 8/17/2019 Microsoft SQL Server IO Internals

    15/24

    REFERENCES

  • 8/17/2019 Microsoft SQL Server IO Internals

    16/24

    Overvie7

    SQL Server Always On2tt"+//7775icrosoftco5/s@#/$#7$yso!

      SQL Server I/O Basics Chapter 1

    2tt"+//7775icrosoftco5/tec2!et/"r

    o0tec2!o#/s@#/-.../5$i!t$i!/s@#IOb$sics5s" 

    SQL Server I/O Basics Chapter 2tt + 7775icrosoftco5 tec2!et r

    http://www.microsoft.com/sql/alwaysonhttp://www.microsoft.com/sql/alwaysonhttp://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlIObasics.mspxhttp://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlIObasics.mspxhttp://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlIObasics.mspxhttp://www.microsoft.com/technet/prodtechnol/sql/2005/iobasics.mspxhttp://www.microsoft.com/technet/prodtechnol/sql/2005/iobasics.mspxhttp://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlIObasics.mspxhttp://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlIObasics.mspxhttp://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlIObasics.mspxhttp://www.microsoft.com/sql/alwaysonhttp://www.microsoft.com/sql/alwayson

  • 8/17/2019 Microsoft SQL Server IO Internals

    17/24

    F*!0$5e!t$#s $!0 Re@*ire5e!ts

    ;B-.K 8SQL Server ., SQL Server -... $!0SQL Server -..K #o%%i!% $!0 0$t$ sto

    r$%e $#%orit25s ete!0 0$t$ re#i$bi#ity

    ;B'&.( 8

    Microsoft SQL Server I/O s*bsyste5 re@*ire5e!ts for t2ete5"0b 0$t$b$se 

    ;B-&( 8SQL Server 0$t$b$ses !ot s* orte0

    http://support.microsoft.com/kb/230785/en-ushttp://support.microsoft.com/kb/230785/en-ushttp://support.microsoft.com/kb/230785/en-ushttp://support.microsoft.com/kb/230785/en-ushttp://support.microsoft.com/?kbid=917047http://support.microsoft.com/?kbid=917047http://support.microsoft.com/?kbid=917047http://support.microsoft.com/?kbid=917047http://support.microsoft.com/kb/231347/en-ushttp://support.microsoft.com/kb/231347/en-ushttp://support.microsoft.com/?kbid=917047http://support.microsoft.com/?kbid=917047http://support.microsoft.com/?kbid=917047http://support.microsoft.com/?kbid=917047http://support.microsoft.com/kb/230785/en-ushttp://support.microsoft.com/kb/230785/en-ushttp://support.microsoft.com/kb/230785/en-ushttp://support.microsoft.com/kb/230785/en-us

  • 8/17/2019 Microsoft SQL Server IO Internals

    18/24

    S*bsyste5s

    ;B'&.( 8;ey f$ctors to co!si0er 72e! ev$#*$ti!% t2ir08"$rty #e c$c2e syste5s 7it2 SQL Server 

    ;B-(K8 :si!% 0is6 0rive c$c2i!% 7it2 SQL Server  ;B(.'&8 :si!% 2$r0 0is6 co!tro##er c$c2i!% 7it2 SQL Server  ;B'. 8 Descri"tio! of c$c2i!% 0is6 co!tro#s i! SQL Server ;B.(-&8

    Descri"tio! of s*""ort for !et7or6 0$t$b$se #es i! SQL Serv

    er ;B'&.& 3i! "ro%ress4 8S*""ort for t2ir08"$rty Re5ote Mirrori!% so#*tio!s *se0 7it2 SQL Server -... $!0 -..K

    ;B. 8 S*""ort for SQL Server -... o! iSCSI tec2!o#o%y co5"o!e!ts 3$""#ies to SQL Server -..K4

    http://support.microsoft.com/default.aspx?scid=kb;en-us;917043&sd=rss&spid=2852http://support.microsoft.com/default.aspx?scid=kb;en-us;917043&sd=rss&spid=2852http://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;234656http://support.microsoft.com/kb/46091/en-ushttp://support.microsoft.com/kb/86903/en-ushttp://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;304261http://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;304261http://support.microsoft.com/kb/910716/http://support.microsoft.com/kb/910716/http://download.microsoft.com/download/4/7/a/original/HYPERLINK%20%22http:/support.microsoft.com/kb/833770/en-ushttp://download.microsoft.com/download/4/7/a/original/HYPERLINK%20%22http:/support.microsoft.com/kb/833770/en-ushttp://download.microsoft.com/download/4/7/a/original/HYPERLINK%20%22http:/support.microsoft.com/kb/833770/en-ushttp://download.microsoft.com/download/4/7/a/original/HYPERLINK%20%22http:/support.microsoft.com/kb/833770/en-ushttp://download.microsoft.com/download/4/7/a/original/HYPERLINK%20%22http:/support.microsoft.com/kb/833770/en-ushttp://support.microsoft.com/kb/910716/http://support.microsoft.com/kb/910716/http://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;304261http://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;304261http://support.microsoft.com/kb/86903/en-ushttp://support.microsoft.com/kb/46091/en-ushttp://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;234656http://support.microsoft.com/default.aspx?scid=kb;en-us;917043&sd=rss&spid=2852http://support.microsoft.com/default.aspx?scid=kb;en-us;917043&sd=rss&spid=2852

  • 8/17/2019 Microsoft SQL Server IO Internals

    19/24

    Desi%! $!0 Co!%*r$tio!

    12ite "$"er 8 2ysic$# D$t$b$se L$yo*t $!0 Desi%! ;B-'(.- 8

    :!0erst$!0i!% >o7 to Set t2e SQL Server I/O A!ity O"tio!   ;B 8 12e! Dirty C$c2e $%es $re F#*s2e0 to Dis6

    12ite "$"er 8 D$t$b$se Mirrori!% i! SQL Server -..K  12ite "$"er 8

    D$t$b$se Mirrori!% Best r$ctices $!0 erfor5$!ce Co!si0er$tio!s 

    ;B'&. 8Sc$#$b#e s2$re0 0$t$b$se $re s*""orte0 by SQL Server -..K  

    MSDN $rtic#e 8 Re$08O!#y Fi#e%ro*"s  ;B&K'- 8

    Asy!c2ro!o*s Dis6 I/O A""e$rs $s Sy!c2ro!o*s o! 1i!0o7s N T, 1i!0o7s -..., $!0 1i!0o7s

     

    http://download.microsoft.com/download/4/f/8/4f8f2dc9-a9a7-4b68-98cb-163482c95e0b/PhysDBStor.dochttp://support.microsoft.com/kb/298402/en-ushttp://support.microsoft.com/kb/78363/en-ushttp://www.microsoft.com/technet/prodtechnol/sql/2005/dbmirror.mspxhttp://download.microsoft.com/download/4/f/8/4f8f2dc9-a9a7-4b68-98cb-163482c95e0b/DBM_Best_Pract.dochttp://download.microsoft.com/download/4/f/8/4f8f2dc9-a9a7-4b68-98cb-163482c95e0b/DBM_Best_Pract.dochttp://support.microsoft.com/Default.aspx?kbid=910378http://msdn2.microsoft.com/en-us/library/ms190257(SQL.90).aspxhttp://msdn2.microsoft.com/en-us/library/ms190257(SQL.90).aspxhttp://support.microsoft.com/default.aspx?scid=kb;en-us;156932http://support.microsoft.com/default.aspx?scid=kb;en-us;156932http://support.microsoft.com/default.aspx?scid=kb;en-us;156932http://support.microsoft.com/default.aspx?scid=kb;en-us;156932http://msdn2.microsoft.com/en-us/library/ms190257(SQL.90).aspxhttp://msdn2.microsoft.com/en-us/library/ms190257(SQL.90).aspxhttp://support.microsoft.com/Default.aspx?kbid=910378http://download.microsoft.com/download/4/f/8/4f8f2dc9-a9a7-4b68-98cb-163482c95e0b/DBM_Best_Pract.dochttp://download.microsoft.com/download/4/f/8/4f8f2dc9-a9a7-4b68-98cb-163482c95e0b/DBM_Best_Pract.dochttp://www.microsoft.com/technet/prodtechnol/sql/2005/dbmirror.mspxhttp://support.microsoft.com/kb/78363/en-ushttp://support.microsoft.com/kb/298402/en-ushttp://download.microsoft.com/download/4/f/8/4f8f2dc9-a9a7-4b68-98cb-163482c95e0b/PhysDBStor.doc

  • 8/17/2019 Microsoft SQL Server IO Internals

    20/24

    Di$%!ostics

    ;B-( 8A00itio!$# SQL Server Di$%!ostics A00e0 to Detect :!re"orte0 I/O rob#e5s

    ;B'-( 8

    SQL Server -... S( 0i$%!ostics 2e#" 0etect st$##e0 $!0 st*c6 I/O o"er$tio!s 3$""#ies to SQL Server -..K4

    ;B-' 8Error 5ess$%e - 5$y i!0ic$te 2$r07$re "rob#e5s or syste5 "rob#e5s i! SQL Server

    ;B&&& 8 :!0erst$!0i!% B*f7$it $!0 1rite#o% Ti5eo*t Mess$%es

    ;B&K( 8:se Tr$ce F#$% K.K to Co!tro# SQL Server C2ec6"oi!t Be2

    $vior 

    http://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;826433http://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;826433http://support.microsoft.com/kb/897284/en-ushttp://support.microsoft.com/kb/897284/en-ushttp://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;828339http://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;828339http://support.microsoft.com/kb/167711/en-ushttp://support.microsoft.com/kb/167711/en-ushttp://support.microsoft.com/kb/815436/en-ushttp://support.microsoft.com/kb/815436/en-ushttp://support.microsoft.com/kb/815436/en-ushttp://support.microsoft.com/kb/815436/en-ushttp://support.microsoft.com/kb/167711/en-ushttp://support.microsoft.com/kb/167711/en-ushttp://support.microsoft.com/kb/167711/en-ushttp://support.microsoft.com/kb/167711/en-ushttp://support.microsoft.com/kb/167711/en-ushttp://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;828339http://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;828339http://support.microsoft.com/kb/897284/en-ushttp://support.microsoft.com/kb/897284/en-ushttp://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;826433http://support.microsoft.com/default.aspx?scid=KB;%5BLN%5D;826433

  • 8/17/2019 Microsoft SQL Server IO Internals

    21/24

    Certic$tio! o#icy

    ;B'&'(K8Microsoft 0oes !ot certify t2$t t2ir08"$rty "ro0*cts 7i## 7or6 7it2 Microsoft SQL

    Server ;B(&' 8

    Overvie7 of t2e Microsoft t2ir08"$rty stor$%e soft7$re so#*tio!s s*""ort "o#icy 

    ;B-&&' 8 >o7 to *se t2e SQLIOStress *ti#ity to stress $ 0is6 s*bsyste5 s*c2

     $s SQL Server

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;913945http://support.microsoft.com/default.aspx?scid=kb;EN-US;913945http://support.microsoft.com/default.aspx?scid=kb;EN-US;913945http://support.microsoft.com/kb/841696/en-ushttp://support.microsoft.com/kb/841696/en-ushttp://download.microsoft.com/download/4/7/a/original/support.microsoft.com/kb/q231619/http://download.microsoft.com/download/4/7/a/original/support.microsoft.com/kb/q231619/http://download.microsoft.com/download/4/7/a/original/support.microsoft.com/kb/q231619/http://download.microsoft.com/download/4/7/a/original/support.microsoft.com/kb/q231619/http://download.microsoft.com/download/4/7/a/original/support.microsoft.com/kb/q231619/http://download.microsoft.com/download/4/7/a/original/support.microsoft.com/kb/q231619/http://download.microsoft.com/download/4/7/a/original/support.microsoft.com/kb/q231619/http://support.microsoft.com/kb/841696/en-ushttp://support.microsoft.com/kb/841696/en-ushttp://support.microsoft.com/default.aspx?scid=kb;EN-US;913945http://support.microsoft.com/default.aspx?scid=kb;EN-US;913945http://support.microsoft.com/default.aspx?scid=kb;EN-US;913945

  • 8/17/2019 Microsoft SQL Server IO Internals

    22/24

    :ti#ities

    Do7!#o$0 8SQLIO Dis6 S*bsyste5 Be!c25$r6 Too#

      Do7!#o$0 8 SQLIOStress

     *ti#ity to stress 0is6 s*bsyste5 

    3$""#ies to SQL Server ., -..., $!0-..K 8 re"#$ce0 7it2 SQLIOSi5 $!0SQL Server -.. i!st$##e0 i! BINN4

    http://www.microsoft.com/downloads/details.aspx?FamilyID=9a8b005b-84e4-4f24-8d65-cb53442d9e19&DisplayLang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=9a8b005b-84e4-4f24-8d65-cb53442d9e19&DisplayLang=enhttp://support.microsoft.com/kb/231619/en-ushttp://support.microsoft.com/kb/231619/en-ushttp://support.microsoft.com/kb/231619/en-ushttp://support.microsoft.com/kb/231619/en-ushttp://www.microsoft.com/downloads/details.aspx?FamilyID=9a8b005b-84e4-4f24-8d65-cb53442d9e19&DisplayLang=enhttp://www.microsoft.com/downloads/details.aspx?FamilyID=9a8b005b-84e4-4f24-8d65-cb53442d9e19&DisplayLang=en

  • 8/17/2019 Microsoft SQL Server IO Internals

    23/24

    B#o% Co!te!t

    SQL Server !rban Le"en#s Discusse#2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-../.-/-&/s@#8server8*rb$!8#e%e!0s80isc*sse0$s"

    $%w It &%r's: SQL Server Chec'p%int ()lushCache* Outstan#in" I/O Tar"et2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-../.(/&&/2o78it87or6s8s@#8server8c2ec6"oi!t8=*s2c$c2e8o*tst$!0i!%8i8o8t$r%et$s"  

    $%w It &%r's: SQL Server +a"e All%cati%ns2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-../.(/./2o78it87or6s8s@#8server8"$%e8$##oc$tio!s$s"

    $%w It &%r's: Shapsh%t Database (,eplica* Dirty +a"e C%py Behavi%r (-ew+a"e*2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-.././-(/2o78it87or6s8s2$"s2ot80$t$b$se8re"#ic$80irty8"$%e8co"y8be2$vior8!e7"$%e$s"

    $%w It &%r's: SQL Server .. I/O A0nity an# -!MA D%nt Always Mi22tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-.././&/2o78it87or6s8s@#8server8-..K8i8o8$!ity8$!08!*5$80o!8t8$#7$ys85i$s"

    $%w It &%r's: Debu""in" SQL Server Stalle# %r Stuc' I/O +r%ble3s 4 ,%%t Cause2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-../././2o78it87or6s80eb*%%i!%8s@#8server8st$##e08or8st*c68i8o8"rob#e5s8root8c$*se$s" $%w It &%r's: SQL Server .. Database Snapsh%ts (,eplica*

    2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-../.-/./2o78it87or6s8s@#8server8-..K80$t$b$se8s!$"s2ots8re"#ic$$s" $%w It &%r's: )ile Strea3 the Be5%re an# A5ter I3a"e %5 a )ile

    2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-../.&/&K/2o78it87or6s8#e8stre$58t2e8before8$!08$fter8i5$%e8of8$8#e$s" !sin" SQLIOSi3 t% Dia"n%se SQL Server ,ep%rte# Chec'su3 (6rr%r 78/79* )ailures

    2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-../&-/&'/*si!%8s@#iosi58to80i$%!ose8s@#8server8re"orte08c2ec6s*58error8-(8-8f$i#*res$s" 

    $%w t% use the SQLIOSi3 utility t% si3ulate SQL Server activity %n a #is' subsyste3

    2tt"+//s*""ort5icrosoftco5/6b/-&&'  Sh%ul# I run SQLIOSi3 4 An e43ail 5%ll%w4up 5r%3 SQL +ASS ..7

    2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-../&&/-(/s2o*#08i8r*!8s@#iosi58$!8e85$i#8fo##o78*"8fro58s@#8"$ss8-..$s"   &hat #% I nee# t% 'n%w ab%ut SQL Server #atabase en"ine I/O  

    2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-../&&/-/72$t80o8i8!ee08to86!o78$bo*t8s@#8server80$t$b$se8e!%i!e8i8o$s"   SQLIOSi3 is ;-OT; an I/O +er5%r3ance Tunin" T%%l 

    2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-../.(/.K/s@#iosi58is8!ot8$!8i8o8"erfor5$!ce8t*!i!%8too#$s"   $%w It &%r's: SQLIOSi3 4 ,unnin" Avera"e< Tar"et Durati%n< Discar#e# Bu=ers >>>

    2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-../&&/&-/2o78it87or6s8s@#iosi58r*!!i!%8$ver$%e8t$r%et80*r$tio!80isc$r0e08b*ers$s"   $%w It &%r's: SQLIOSi3 ?Au#it !sers@ an# >I-I C%ntr%l )ile Secti%ns with !ser C%unt Opti%ns 

    2tt"+//b#o%s5s0!co5/"sss@#/$rc2ive/-.././&'/2o78it87or6s8s@#iosi58$*0it8*sers8$!08i!i8co!tro#8#e8sectio!s87it28*ser8co*!t8o"tio!s$s" 

    !n#erstan#in S LIOSIM Out ut 

    http://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspxhttp://blogs.msdn.com/psssql/archive/2008/04/11/how-it-works-sql-server-checkpoint-flushcache-outstanding-i-o-target.aspxhttp://blogs.msdn.com/psssql/archive/2008/04/08/how-it-works-sql-server-page-allocations.aspxhttp://blogs.msdn.com/psssql/archive/2008/03/24/how-it-works-shapshot-database-replica-dirty-page-copy-behavior-newpage.aspxhttp://blogs.msdn.com/psssql/archive/2008/03/18/how-it-works-sql-server-2005-i-o-affinity-and-numa-don-t-always-mix.aspxhttp://blogs.msdn.com/psssql/archive/2008/03/03/how-it-works-debugging-sql-server-stalled-or-stuck-i-o-problems-root-cause.aspxhttp://blogs.msdn.com/psssql/archive/2008/02/07/how-it-works-sql-server-2005-database-snapshots-replica.aspxhttp://blogs.msdn.com/psssql/archive/2008/01/15/how-it-works-file-stream-the-before-and-after-image-of-a-file.aspxhttp://blogs.msdn.com/psssql/archive/2008/12/19/using-sqliosim-to-diagnose-sql-server-reported-checksum-error-824-823-failures.aspxhttp://blogs.msdn.com/psssql/archive/2008/12/19/using-sqliosim-to-diagnose-sql-server-reported-checksum-error-824-823-failures.aspxhttp://support.microsoft.com/kb/231619http://blogs.msdn.com/psssql/archive/2008/11/24/should-i-run-sqliosim-an-e-mail-follow-up-from-sql-pass-2008.aspxhttp://blogs.msdn.com/psssql/archive/2006/11/27/what-do-i-need-to-know-about-sql-server-database-engine-i-o.aspxhttp://blogs.msdn.com/psssql/archive/2008/04/05/sqliosim-is-not-an-i-o-performance-tuning-tool.aspxhttp://blogs.msdn.com/psssql/archive/2008/11/12/how-it-works-sqliosim-running-average-target-duration-discarded-buffers.aspxhttp://blogs.msdn.com/psssql/archive/2008/08/19/how-it-works-sqliosim-audit-users-and-ini-control-file-sections-with-user-count-options.aspxhttp://blogs.msdn.com/psssql/archive/2008/08/19/how-it-works-sqliosim-audit-users-and-ini-control-file-sections-with-user-count-options.aspxhttp://blogs.msdn.com/psssql/archive/2008/08/19/how-it-works-sqliosim-audit-users-and-ini-control-file-sections-with-user-count-options.aspxhttp://blogs.msdn.com/psssql/archive/2008/08/19/how-it-works-sqliosim-audit-users-and-ini-control-file-sections-with-user-count-options.aspxhttp://blogs.msdn.com/psssql/archive/2008/11/12/how-it-works-sqliosim-running-average-target-duration-discarded-buffers.aspxhttp://blogs.msdn.com/psssql/archive/2008/04/05/sqliosim-is-not-an-i-o-performance-tuning-tool.aspxhttp://blogs.msdn.com/psssql/archive/2006/11/27/what-do-i-need-to-know-about-sql-server-database-engine-i-o.aspxhttp://blogs.msdn.com/psssql/archive/2008/11/24/should-i-run-sqliosim-an-e-mail-follow-up-from-sql-pass-2008.aspxhttp://support.microsoft.com/kb/231619http://blogs.msdn.com/psssql/archive/2008/12/19/using-sqliosim-to-diagnose-sql-server-reported-checksum-error-824-823-failures.aspxhttp://blogs.msdn.com/psssql/archive/2008/12/19/using-sqliosim-to-diagnose-sql-server-reported-checksum-error-824-823-failures.aspxhttp://blogs.msdn.com/psssql/archive/2008/01/15/how-it-works-file-stream-the-before-and-after-image-of-a-file.aspxhttp://blogs.msdn.com/psssql/archive/2008/02/07/how-it-works-sql-server-2005-database-snapshots-replica.aspxhttp://blogs.msdn.com/psssql/archive/2008/03/03/how-it-works-debugging-sql-server-stalled-or-stuck-i-o-problems-root-cause.aspxhttp://blogs.msdn.com/psssql/archive/2008/03/18/how-it-works-sql-server-2005-i-o-affinity-and-numa-don-t-always-mix.aspxhttp://blogs.msdn.com/psssql/archive/2008/03/24/how-it-works-shapshot-database-replica-dirty-page-copy-behavior-newpage.aspxhttp://blogs.msdn.com/psssql/archive/2008/04/08/how-it-works-sql-server-page-allocations.aspxhttp://blogs.msdn.com/psssql/archive/2008/04/11/how-it-works-sql-server-checkpoint-flushcache-outstanding-i-o-target.aspxhttp://blogs.msdn.com/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx

  • 8/17/2019 Microsoft SQL Server IO Internals

    24/24

    A00itio!$# Le$r!i!% Reso*rces

    Insi#e SQL Server >. an# Insi#e SQL Server ...1ritte! by ;$#e! De#$!ey ) 2er 2*sb$!0 is $*# R$!0#e 72o 7rote t2e core 0bcc c2ec6s forSQL ., -... $!0 -..K

    The urus ui#e t% SQL Server Architecture an# Internals ISB- .4.14..84E

    1ritte! by ;e! $fter 2e oi!e0 Microsoft SQL Server S*""ort

    M$!y c2$"ters revie7e0 by 0eve#o"ers $!0 fo#6s #i6e 5yse#f 

    SQL Server .. +ractical Tr%ublesh%%tin" ISB- .491488849 Fen$en#ers%n

    A*t2ors of t2is boo6 7ere 6ey 0eve#o"ers or s*""ort te$5 5e5bers

    Ces$r ) Q 0eve#o"er $!0 #e$0er of t2e Q Re0o!e 7it2 ;eit2e#5 $!0 $c6#i

    S$5eert ) Deve#o"er of :MS $!0 SQLOS Sc2e0*#er

    S$!teriv ) Deve#o"er of t2e #oc6 5$!$%er

    S#$v$o ) Deve#o"er of t2e SOS 5e5ory 5$!$%ers $!0 e!%i!e $rc2itect1ei i$o ) E!%i!e 0eve#o"er

    B$rt D*!c$! ) #o!% ti5e SQL EE $!0 !o7 0eve#o"er of t2e Microsoft D$t$ 1$re2o*se )"erfor5$!ce foc*se0

    Bob 1$r0 ) SQL Server S*""ort Se!ior EE

    A#vance# &in#%ws Debu""in" ISB- .4914988E1ritte! by Microsoft 0eve#o"ers ) ece##e!t reso*rce

    Applicati%ns 5%r &in#%ws Ge=rey ,ichterG t 0 t i# b t 1i 0 b i