рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░: рд╕реНрдЯреЗрд░реЙрдпрдб рдкрд░ рдмреИрдХрдЕрдк

рдЗрдВрддрдЬрд╝рд╛рд░! рдЗрдВрддрдЬрд╝рд╛рд░! рд╕рдЪ рд╣реИ, рдпрд╣ SQL рд╕рд░реНрд╡рд░ рдмреИрдХрдЕрдк рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЕрдиреНрдп рд▓реЗрдЦ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдореЙрдбрд▓ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рдмрдврд╝реЗ рд╣реБрдП рд▓реЙрдЧ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред

рд╢рд╛рдпрдж (рдмрд╕ рд╢рд╛рдпрдж), рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдорд╛рдирдХ рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрд╕реЗ рдЬреЛ рдмреИрдХрдЕрдк рд╣рдЯрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╡рд╣ рдХрд▓ рд░рд╛рдд рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдареАрдХ рд╣реИ, 1.5 рдЧреБрдирд╛ рддреЗрдЬреА рд╕реЗред рдФрд░ рдХреЗрд╡рд▓ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЖрдк рдереЛрдбрд╝реЗ рдЕрдзрд┐рдХ рдмреИрдХрдЕрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рдкреЛрд╕реНрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдереА, рддреЛ рдореБрдЭреЗ рдЦреЗрдж рд╣реИред рдореИрдВрдиреЗ рд╡рд╣ рд╕рдм рдХреБрдЫ рдкрдврд╝рд╛ рдЬреЛ Google рдХреЛ "habr sql рд╕рд░реНрд╡рд░ рдмреИрдХрдЕрдк" рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛, рдФрд░ рдПрдХ рднреА рд▓реЗрдЦ рдореЗрдВ рдореБрдЭреЗ рдЗрд╕ рддрдереНрдп рдХрд╛ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдХрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреИрдХрдЕрдк рд╕рдордп рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рддреБрд░рдВрдд рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рдЧреНрд▓реИрдбрдЪреЗрдВрдХреЛ рдХреА рдЯрд┐рдкреНрдкрдгреА рдХреА рдУрд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реВрдВрдЧрд╛ (@mssqlhelp):

рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдмрдлрд╝рд░рдХрд╛рдЙрдВрдЯ, рдмреНрд▓реЙрдХрд╕рд╛рдЗрдЬрд╝, рдореИрдХреНрд╕рдЯреНрд░рд╛рдВрд╕рдлрд╝рд░рд╕рд╛рдЗрдЬрд╝ рдкреИрд░рд╛рдореАрдЯрд░ рдХрднреА рди рдмрджрд▓реЗрдВред рдпреЗ рдРрд╕реЗ рдЖрд░реНрдЯрд┐рдХрд▓ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реА рдмрдиреЗ рд╣реИрдВ. рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдЖрдк рдХреБрдЫ рд╣реА рд╕рдордп рдореЗрдВ рд╕реНрдореГрддрд┐ рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд▓реЗрдВрдЧреЗред

рдирд┐рдГрд╕рдВрджреЗрд╣, рд╕рдмрд╕реЗ рд╕реНрдорд╛рд░реНрдЯ рдмрдирдирд╛ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд╕рд╛рдордЧреНрд░реА рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдЕрдВрдЧреНрд░реЗрдЬреА-рднрд╛рд╖рд╛ рдФрд░ рд░реВрд╕реА-рднрд╛рд╖рд╛ рджреЛрдиреЛрдВ рд▓реЗрдЦ/рдкреЛрд╕реНрдЯ рд╣реИрдВ (рдореИрдВ рд╣рдореЗрд╢рд╛ рдЙрд▓рдЭрди рдореЗрдВ рд░рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рдП)ред рдпрд╣рд╛рдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓реЗ: рд╕рдордп, ╨┤╨▓╨░, рддреАрди (sql.ru рдкрд░).

рддреЛ, рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдмреИрдХрдЕрдк рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕рдВрд▓рдЧреНрди рдХрд░реВрдВрдЧрд╛ MSDN (рд╡реИрд╕реЗ, рдореИрдВрдиреЗ рдКрдкрд░ рдмреИрдХрдЕрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рд▓реЗрдирджреЗрди рд▓реЙрдЧ рдмреИрдХрдЕрдк рдФрд░ рдЕрдВрддрд░ рдмреИрдХрдЕрдк рджреЛрдиреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдХрдо рд╕реНрдкрд╖реНрдЯ рдкреНрд░рднрд╛рд╡ рдХреЗ рд╕рд╛рде):

BACKUP DATABASE { database_name | @database_name_var }
  TO <backup_device> [ ,...n ]
  <...>
  [ WITH { <...>
           | <general_WITH_options> [ ,...n ] } ]
[;]

<general_WITH_options> [ ,...n ]::=
<...>
--Media Set Options
 <...>
 | BLOCKSIZE = { blocksize | @blocksize_variable }

--Data Transfer Options
   BUFFERCOUNT = { buffercount | @buffercount_variable }
 | MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }
<...>

<тАж> - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╡рд╣рд╛рдВ рдХреБрдЫ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдпрд╣ рд╡рд┐рд╖рдп рд╕реЗ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред

рдЖрдк рдЖрдорддреМрд░ рдкрд░ рдмреИрдХрдЕрдк рдХреИрд╕реЗ рд▓реЗрддреЗ рд╣реИрдВ? рд╡реЗ рдЕрд░рдмреЛрдВ рд▓реЗрдЦреЛрдВ рдХрд╛ рдмреИрдХрдЕрдк рдХреИрд╕реЗ рд▓реЗрдирд╛ "рд╕рд┐рдЦрд╛рддреЗ" рд╣реИрдВ? рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЕрдЧрд░ рдореБрдЭреЗ рдХрд┐рд╕реА рдмрд╣реБрдд рдмрдбрд╝реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдПрдХ рдмрд╛рд░ рдХрд╛ рдмреИрдХрдЕрдк рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦреВрдВрдЧрд╛:

BACKUP DATABASE smth
TO DISK = 'D:Backupsmth.bak'
WITH STATS = 10, CHECKSUM, COMPRESSION, COPY_ONLY;
--╨╗╨░╨┤╨╜╨╛, CHECKSUM ╤П ╨╜╨░╨┐╨╕╤Б╨░╨╗ ╤В╨╛╨╗╤М╨║╨╛ ╤З╤В╨╛╨▒╤Л ╨║╨░╨╖╨░╤В╤М╤Б╤П ╤Г╨╝╨╜╨╡╨╡

рдФрд░, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдВрднрд╡рддрдГ рдмреИрдХрдЕрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ 75-90% рдпрд╣рд╛рдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВред рдЦреИрд░, INIT, SKIP рднреА рд╣реИред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдПрдордПрд╕рдбреАрдПрди рдХрд╛ рджреМрд░рд╛ рдХрд┐рдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдбреЗрдврд╝ рд╕реНрдХреНрд░реАрди рдХреЗ рд╡рд┐рдХрд▓реНрдк рдореМрдЬреВрдж рд╣реИрдВ? рдореИрдВрдиреЗ рднреА рджреЗрдЦрд╛...

рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╣реА рд╕рдордЭ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рдЖрдЧреЗ рд╣рдо рдЙрди рддреАрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдХреЛрдб рдХреЗ рдкрд╣рд▓реЗ рдмреНрд▓реЙрдХ рдореЗрдВ рдмрдиреЗ рд░рд╣реЗ - рдмреНрд▓реЙрдХрд╕рд╛рдЗрдЬрд╝, рдмрдлрд╝рд░рдХрд╛рдЙрдВрдЯ рдФрд░ рдореИрдХреНрд╕рдЯреНрд░рд╛рдВрд╕рдлрд╝рд░рд╕рд╛рдЗрдЬрд╝ред рдпрд╣рд╛рдВ MSDN рд╕реЗ рдЙрдирдХреЗ рд╡рд┐рд╡рд░рдг рджрд┐рдП рдЧрдП рд╣реИрдВ:

рдмреНрд▓реЙрдХ рдХрд╛ рдЖрдХрд╛рд░ = { рдмреНрд▓реЙрдХ рдХрд╛ рдЖрдХрд╛рд░ | @ рдмреНрд▓реЙрдХрд╕рд╛рдЗрдЬрд╝_рд╡реЗрд░рд┐рдПрдмрд▓ } - рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рднреМрддрд┐рдХ рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рдорд░реНрдерд┐рдд рдЖрдХрд╛рд░ 512, 1024, 2048, 4096, 8192, 16, 384, рдФрд░ 32 рдмрд╛рдЗрдЯреНрд╕ (768 рдХреЗрдмреА) рд╣реИрдВред рдЯреЗрдк рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди 65 рдФрд░ рдЕрдиреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП 536 рд╣реИред рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмреИрдХрдЕрдк рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИред рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░ рдЪрдпрди рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИред

рдмрдлрд╝рд░рдЧрдгрдирд╛ = { рдмрдлрд░рдХрд╛рдЙрдВрдЯ | @ рдмрдлрд╝рд░рдХрд╛рдЙрдВрдЯ_рд╡реЗрд░рд┐рдПрдмрд▓ } - I/O рдмрдлрд╝рд░реНрд╕ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдмреИрдХрдЕрдк рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдХреЛрдИ рднреА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдмрдлрд╝рд░реНрд╕ Sqlservr.exe рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрддреНрдпрдзрд┐рдХ рд╡рд░реНрдЪреБрдЕрд▓ рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕ рдХреЗ рдХрд╛рд░рдг рдЖрдЙрдЯ-рдСрдл-рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреЗ рд╣реИрдВред

рдмрдлрд╝рд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЬрдЧрд╣ рдХреА рдХреБрд▓ рдорд╛рддреНрд░рд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ: BUFFERCOUNT * MAXTRANSFERSIZE.

рдЕрдзрд┐рдХрддрдо рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг = { maxtransfersize | @ maxtransfersize_variable } SQL рд╕рд░реНрд╡рд░ рдФрд░ рдмреИрдХрдЕрдк рд╕реЗрдЯ рдореАрдбрд┐рдпрд╛ рдХреЗ рдмреАрдЪ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдбреЗрдЯрд╛ рдкреИрдХреЗрдЯ рдЖрдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред 65 рдмрд╛рдЗрдЯреНрд╕ (536 рдХреЗрдмреА) рд╕реЗ 64 рдмрд╛рдЗрдЯреНрд╕ (4 рдПрдордмреА) рддрдХ рдХреЗ рдЧреБрдгрдХ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред

рдореИрдВ рдХрд╕рдо рдЦрд╛рддрд╛ рд╣реВрдБ - рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рднреА рдкрдврд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрднреА рдирд╣реАрдВ рд▓рдЧрд╛ рдХрд┐ рдЗрдирдХрд╛ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдкрд░ рдХрд┐рддрдирд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдореБрдЭреЗ рдПрдХ рддрд░рд╣ рдХрд╛ "рдмрд╛рд╣рд░ рдЖрдирд╛" рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЕрдм рднреА рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рд╢рд╛рдпрдж рдмрдлрд╝рд░ рдХрд┐рдП рдЧрдП I/O рдФрд░ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдкрдврд╝рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред рдХрд┐рд╕реА рджрд┐рди рдореИрдВ рдРрд╕рд╛ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧреА рдХрд┐ рдпреЗ рдорд╛рди рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреА рдЧрддрд┐ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рд▓рдЧрднрдЧ 10 рдЬреАрдмреА рдЖрдХрд╛рд░ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдпрд╛, рдЗрд╕реЗ рдПрд╕рдПрд╕рдбреА рдкрд░ рд░рдЦрд╛, рдФрд░ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдПрдЪрдбреАрдбреА рдкрд░ рд░рдЦрд╛ред

рдореИрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реВрдВ (рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдЕрд╕реНрдерд╛рдпреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рди рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЖрдк рд╕реНрд╡рдпрдВ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ):

DROP TABLE IF EXISTS ##bt_results; 

CREATE TABLE ##bt_results (
    id              int IDENTITY (1, 1) PRIMARY KEY,
    start_date      datetime NOT NULL,
    finish_date     datetime NOT NULL,
    backup_size     bigint NOT NULL,
    compressed_size bigint,
    block_size      int,
    buffer_count    int,
    transfer_size   int
);

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рд░рд▓ рд╣реИ - рдиреЗрд╕реНрдЯреЗрдб рд▓реВрдк, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдорд╛рди рдмрджрд▓рддрд╛ рд╣реИ, рдЗрди рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдмреИрдХрдЕрдк рдХрдорд╛рдВрдб рдореЗрдВ рдбрд╛рд▓реЗрдВ, msdb.dbo.backupset рд╕реЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рд░рд┐рдХреЙрд░реНрдб рд╕рд╣реЗрдЬреЗрдВ, рдмреИрдХрдЕрдк рдлрд╝рд╛рдЗрд▓ рдФрд░ рдЕрдЧрд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ . рдЪреВрдВрдХрд┐ рдмреИрдХрдЕрдк рдирд┐рд╖реНрдкрд╛рджрди рдбреЗрдЯрд╛ рдмреИрдХрдЕрдкрд╕реЗрдЯ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рдЯреАрдХрддрд╛ рдХреБрдЫ рд╣рдж рддрдХ рдЦреЛ рдЧрдИ рд╣реИ (рд╕реЗрдХрдВрдб рдХрд╛ рдХреЛрдИ рдЕрдВрд╢ рдирд╣реАрдВ рд╣реИ), рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕рд╕реЗ рдмрдЪ рдЬрд╛рдПрдВрдЧреЗред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдмреИрдХрдЕрдк рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП xp_cmdshell рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдлрд┐рд░ рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рддреЛ рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ):

EXEC sp_configure 'show advanced options', 1;  
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
EXEC sp_configure 'show advanced options', 0;  
GO

рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ:

DECLARE @tmplt AS nvarchar(max) = N'
BACKUP DATABASE [bt]
TO DISK = ''D:SQLServerbackupbt.bak''
WITH 
    COMPRESSION,
    BLOCKSIZE = {bs},
    BUFFERCOUNT = {bc},
    MAXTRANSFERSIZE = {ts}';

DECLARE @sql AS nvarchar(max);

/* BLOCKSIZE values */
DECLARE @bs     int = 4096, 
        @max_bs int = 65536;

/* BUFFERCOUNT values */
DECLARE @bc     int = 7,
        @min_bc int = 7,
        @max_bc int = 800;

/* MAXTRANSFERSIZE values */
DECLARE @ts     int = 524288,   --512KB, default = 1024KB
        @min_ts int = 524288,
        @max_ts int = 4194304;  --4MB

SELECT TOP 1 
    @bs = COALESCE (block_size, 4096), 
    @bc = COALESCE (buffer_count, 7), 
    @ts = COALESCE (transfer_size, 524288)
FROM ##bt_results
ORDER BY id DESC;

WHILE (@bs <= @max_bs)
BEGIN
    WHILE (@bc <= @max_bc)
    BEGIN       
        WHILE (@ts <= @max_ts)
        BEGIN
            SET @sql = REPLACE (REPLACE (REPLACE(@tmplt, N'{bs}', CAST(@bs AS nvarchar(50))), N'{bc}', CAST (@bc AS nvarchar(50))), N'{ts}', CAST (@ts AS nvarchar(50)));

            EXEC (@sql);

            INSERT INTO ##bt_results (start_date, finish_date, backup_size, compressed_size, block_size, buffer_count, transfer_size)
            SELECT TOP 1 backup_start_date, backup_finish_date, backup_size, compressed_backup_size,  @bs, @bc, @ts 
            FROM msdb.dbo.backupset
            ORDER BY backup_set_id DESC;

            EXEC xp_cmdshell 'del "D:SQLServerbackupbt.bak"', no_output;

            SET @ts += @ts;
        END
        
        SET @bc += @bc;
        SET @ts = @min_ts;

        WAITFOR DELAY '00:00:05';
    END

    SET @bs += @bs;
    SET @bc = @min_bc;
    SET @ts = @min_ts;
END

рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдЪрд╛рдирдХ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕ рдкрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдпрд╛ рдкреАрдПрдо рдореЗрдВ рд▓рд┐рдЦреЗрдВред рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдЬреЛ рдореИрдВрдиреЗ рдмреИрдХрдЕрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд░рдЦреЗ рд╣реИрдВред

BLOCKSIZE рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдорд╛рдиреЛрдВ рдХреА рдПрдХ "рдмрдВрдж" рд╕реВрдЪреА рд╣реИ, рдФрд░ рдореИрдВрдиреЗ BLOCKSIZE <4KB рдХреЗ рд╕рд╛рде рдмреИрдХрдЕрдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ, рдЬреЛ 64KB рдХрд╛ рдЧреБрдгрдЬ рд╣реЛ, рдЕрдзрд┐рдХрддрдо рдЯреНрд░рд╛рдВрд╕рдлрд╝рд░ рдЖрдХрд╛рд░ рджреЗрдВ - 64KB рд╕реЗ 4MB рддрдХред рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ 1024KB рд╣реИ, рдореИрдВрдиреЗ 512 - 1024 - 2048 - 4096 рд▓рд┐рдпрд╛ред

BUFFERCOUNT рдХреЗ рд╕рд╛рде рдпрд╣ рдЕрдзрд┐рдХ рдХрдард┐рди рдерд╛ - рдпрд╣ рдХреЛрдИ рднреА рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд▓рд┐рдВрдХ рдХрд╣рддрд╛ рд╣реИ рдмреИрдХрдЕрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЗрд╕рдХреА рдЧрдгрдирд╛ рдХреИрд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдмрдбрд╝реЗ рдореВрд▓реНрдп рдЦрддрд░рдирд╛рдХ рдХреНрдпреЛрдВ рд╣реИрдВ?. рдпрд╣ рдпрд╣ рднреА рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдХрд┐ рдмреИрдХрдЕрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕ BUFFERCOUNT рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ 7 рд╣реИред рдЗрд╕реЗ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рдерд╛, рдФрд░ рдКрдкрд░реА рд╕реАрдорд╛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЦреЛрдЬреА рдЧрдИ рдереА - BUFFERCOUNT = 896 рдФрд░ MAXTRANSFERSIZE = 4194304 рдХреЗ рд╕рд╛рде рдмреИрдХрдЕрдк рдЧрд┐рд░ рдЧрдпрд╛ рдПрдХ рддреНрд░реБрдЯрд┐ (рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ):

рд╕рдВрджреЗрд╢ 3013, рд╕реНрддрд░ 16, рд░рд╛рдЬреНрдп 1, рдкрдВрдХреНрддрд┐ 7 рдмреИрдХрдЕрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣рд╛ рд╣реИред

рд╕рдВрджреЗрд╢ 701, рд╕реНрддрд░ 17, рд╕реНрдерд┐рддрд┐ 123, рдкрдВрдХреНрддрд┐ 7 рдЗрд╕ рдХреНрд╡реЗрд░реА рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рдкреВрд▓ 'рдбрд┐рдлрд╝реЙрд▓реНрдЯ' рдореЗрдВ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╕рд┐рд╕реНрдЯрдо рдореЗрдореЛрд░реА рд╣реИред

рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдмрд┐рдирд╛ рдХреЛрдИ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмреИрдХрдЕрдк рдЪрд▓рд╛рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдКрдВрдЧрд╛:

BACKUP DATABASE [bt]
TO DISK = 'D:SQLServerbackupbt.bak'
WITH COMPRESSION;

рдЦреИрд░, рдмреИрдХрдЕрдк рдФрд░ рдмреИрдХрдЕрдк:

рдбреЗрдЯрд╛рдмреЗрд╕ 'рдмреАрдЯреА' рдХреЗ рд▓рд┐рдП 1070072 рдкреГрд╖реНрда рд╕рдВрд╕рд╛рдзрд┐рдд, рдлрд╝рд╛рдЗрд▓ 1 рдкрд░ рдлрд╝рд╛рдЗрд▓ 'рдмреАрдЯреА'ред

рдбреЗрдЯрд╛рдмреЗрд╕ 'рдмреАрдЯреА' рдХреЗ рд▓рд┐рдП 2 рдкреЗрдЬ рд╕рдВрд╕рд╛рдзрд┐рдд, рдлрд╝рд╛рдЗрд▓ 1 рдкрд░ 'рдмреАрдЯреА_рд▓реЙрдЧ' рдлрд╝рд╛рдЗрд▓ред

рдмреИрдХрдЕрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдиреЗ 1070074 рд╕реЗрдХрдВрдб (53.171 рдПрдордмреА/рд╕реЗрдХрдВрдб) рдореЗрдВ 157.227 рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рд╕реНрд╡рдпрдВ, рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реБрдП, рдХреБрдЫ рдШрдВрдЯреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛, рд╕рднреА рдорд╛рдк рдЕрдВрджрд░ рдереЗ рдЧреВрдЧрд▓ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ. рдФрд░ рдпрд╣рд╛рдВ рддреАрди рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреЗ рд╕рд╛рде рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЪрдпрди рд╣реИ (рдореИрдВрдиреЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЧреНрд░рд╛рдл рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдкреЛрд╕реНрдЯ рдореЗрдВ рдореБрдЭреЗ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ) @рдорд┐рдХреНрд╕рд╕реНрдЯреНрдпреЛрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╣рд╛ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рдЧреНрд░рд╛рдлрд╝рд┐рдХреНрд╕).

SELECT TOP 7 WITH TIES 
    compressed_size, 
    block_size, 
    buffer_count, 
    transfer_size,
    DATEDIFF(SECOND, start_date, finish_date) AS backup_time_sec
FROM ##bt_results
ORDER BY backup_time_sec ASC;

рдПрдордПрд╕ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░: рд╕реНрдЯреЗрд░реЙрдпрдб рдкрд░ рдмреИрдХрдЕрдк

рдзреНрдпрд╛рди рджреЗрдВ, рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдиреЛрдЯ @рдорд┐рдХреНрд╕рд╕реНрдЯреНрдпреЛрд░ рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ:

рд╣рдо рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореВрд▓реНрдпреЛрдВ рдХреА рдЗрди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рднреАрддрд░ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдмреИрдХрдЕрдк рдЧрддрд┐ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реИ, рдХреЛрдИ рдкреИрдЯрд░реНрди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рджреВрд░ рдЬрд╛рдиреЗ рд╕реЗ рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдкрд░рд┐рдгрд╛рдо рдкрд░ рдЕрдЪреНрдЫрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рд╛

рд╡реЗред рдХреЗрд╡рд▓ рдорд╛рдирдХ рдмреИрдХрдЕрдк рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмреИрдХрдЕрдк рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рдордп рдореЗрдВ 2 рдЧреБрдирд╛ рд╡реГрджреНрдзрд┐ рд╣реБрдИ: 26 рд╕реЗрдХрдВрдб, рдЬрдмрдХрд┐ рд╢реБрд░реБрдЖрдд рдореЗрдВ 53 рд╕реЗрдХрдВрдбред рдпрд╣ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ, рд╣реИ рдирд╛? рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдпрд╣ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдмрд╣рд╛рд▓реА рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдЕрдм рдЗрд╕реЗ рдареАрдХ рд╣реЛрдиреЗ рдореЗрдВ 4 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧреЗ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдорд╛рдкреЗрдВ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдмреИрдХрдЕрдк рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ:

RESTORE DATABASE [bt]
FROM DISK = 'D:SQLServerbackupbt.bak'
WITH REPLACE, RECOVERY;

рдареАрдХ рд╣реИ, рдЖрдк рд╕реНрд╡рдпрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐, рддрд░реАрдХреЗ рдореМрдЬреВрдж рд╣реИрдВ, рд░рд┐рдкреНрд▓реЗрд╕ рдХреЛ рд░рд┐рдкреНрд▓реЗрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд░рд┐рдХрд╡рд░реА рдХреЛ рд░рд┐рдХрд╡рд░реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдХрд░рддрд╛ рд╣реВрдВ:

рдбреЗрдЯрд╛рдмреЗрд╕ 'рдмреАрдЯреА' рдХреЗ рд▓рд┐рдП 1070072 рдкреГрд╖реНрда рд╕рдВрд╕рд╛рдзрд┐рдд, рдлрд╝рд╛рдЗрд▓ 1 рдкрд░ рдлрд╝рд╛рдЗрд▓ 'рдмреАрдЯреА'ред

рдбреЗрдЯрд╛рдмреЗрд╕ 'рдмреАрдЯреА' рдХреЗ рд▓рд┐рдП 2 рдкреЗрдЬ рд╕рдВрд╕рд╛рдзрд┐рдд, рдлрд╝рд╛рдЗрд▓ 1 рдкрд░ 'рдмреАрдЯреА_рд▓реЙрдЧ' рдлрд╝рд╛рдЗрд▓ред

рд░реАрд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдиреЗ 1070074 рд╕реЗрдХрдВрдб (40.752 рдПрдордмреА/рд╕реЗрдХрдВрдб) рдореЗрдВ 205.141 рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ред

рдЕрдм рдореИрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд BLOCKSIZE, BUFFERCOUNT рдФрд░ MAXTRANSFERSIZE рдХреЗ рд╕рд╛рде рд▓рд┐рдП рдЧрдП рдмреИрдХрдЕрдк рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдБрдЧрд╛ред

BLOCKSIZE = 16384, BUFFERCOUNT = 224, MAXTRANSFERSIZE = 4194304

рд░реАрд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдиреЗ 1070074 рд╕реЗрдХрдВрдб (32.283 рдПрдордмреА/рд╕реЗрдХрдВрдб) рдореЗрдВ 258.958 рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ред

BLOCKSIZE = 4096, BUFFERCOUNT = 448, MAXTRANSFERSIZE = 4194304

рд░реАрд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдиреЗ 1070074 рд╕реЗрдХрдВрдб (32.682 рдПрдордмреА/рд╕реЗрдХрдВрдб) рдореЗрдВ 255.796 рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ред

BLOCKSIZE = 16384, BUFFERCOUNT = 448, MAXTRANSFERSIZE = 2097152

рд░реАрд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдиреЗ 1070074 рд╕реЗрдХрдВрдб (32.091 рдПрдордмреА/рд╕реЗрдХрдВрдб) рдореЗрдВ 260.507 рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ред

BLOCKSIZE = 4096, BUFFERCOUNT = 56, MAXTRANSFERSIZE = 4194304

рд░реАрд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдиреЗ 1070074 рд╕реЗрдХрдВрдб (32.401 рдПрдордмреА/рд╕реЗрдХрдВрдб) рдореЗрдВ 258.015 рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ред

рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдерди рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рджреМрд░рд╛рди рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ; рдпреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдЗрд╕рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИрдВ; SQL рд╕рд░реНрд╡рд░ рд╕реНрд╡рдпрдВ рдЙрдиреНрд╣реЗрдВ рдмреИрдХрдЕрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд╕рд╛рде рднреА рд▓рд╛рдн рд╣реЛ рд╕рдХрддрд╛ рд╣реИ - рд▓рдЧрднрдЧ 20% рддреЗрдЬ (рд╕рдЪ рдХрд╣реВрдБ рддреЛ, рдореИрдВрдиреЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдкрд░ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛, рдореИрдВрдиреЗ рдХрдИ "рд╕рдмрд╕реЗ рддреЗрдЬрд╝" рдмреИрдХрдЕрдк рдЪрд▓рд╛рдП рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдХреЛрдИ рдЧрд┐рд░рд╛рд╡рдЯ рди рд╣реЛ).

рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреВрдВ рдХрд┐ рдпреЗ рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рд╣реИрдВред рдЖрдк рдХреЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдг рдХрд░рдХреЗ рд╣реА рдЕрдкрдиреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпреЗ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗ, рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд┐рд▓реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдмреИрдХрдЕрдк рдХреЛ "рдЯреНрдпреВрди" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдмрди рдФрд░ рддреИрдирд╛рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдпрд╣ рднреА рджреГрдврд╝рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕рдВрдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдкрдврд╝реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рд░реАрдХрд┐рдпрд╛рдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдмреИрдХрдЕрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рддреБрд░рдВрдд рдПрдХ рдФрд░ "рдЕрдиреБрдХреВрд▓рди" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреЛ "рдЯреНрдпреВрдирд┐рдВрдЧ" рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ (рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдмреИрдХрдЕрдк рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде) рдкрд╣рд▓реЗ рд╡рд░реНрдгрд┐рдд), рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдЕрднреА рддрдХ рд╣реИрдмреЗ рдкрд░ рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрджрд┐ рд╣рдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдмреИрдХрдЕрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдареАрдХ рдиреАрдЪреЗ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ:

TO <backup_device> [ ,...n ]

рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдХрдИ рдмреИрдХрдЕрдк_рдбрд┐рд╡рд╛рдЗрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдФрд░ рдПрдХ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдШрдЯрд┐рдд рд╣реЛрдЧреА - рдмреИрдХрдЕрдк рдмрд╕ рдХрдИ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ "рдлреИрд▓" рдЬрд╛рдПрдЧрд╛ред рд╡реЗред рдкреНрд░рддреНрдпреЗрдХ "рдбрд┐рд╡рд╛рдЗрд╕" рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдмреЗрдХрд╛рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдПрдХ рдЦреЛ рдЬрд╛рдПрдЧрд╛, рд╕рдВрдкреВрд░реНрдг рдмреИрдХрдЕрдк рдЦреЛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреА рдмрджрдирд╛рдореА рдмреИрдХрдЕрдк рдЧрддрд┐ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧреА?

рдЖрдЗрдП рджреЛ "рдбрд┐рд╡рд╛рдЗрд╕" рдкрд░ рдмреИрдХрдЕрдк рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдЬреЛ рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЕрдЧрд▓-рдмрдЧрд▓ рд╕реНрдерд┐рдд рд╣реИрдВ:

BACKUP DATABASE [bt]
TO 
    DISK = 'D:SQLServerbackupbt1.bak',
    DISK = 'D:SQLServerbackupbt2.bak'   
WITH COMPRESSION;

рджреБрдирд┐рдпрд╛ рдХреЗ рдкрд┐рддрд╛рдУрдВ, рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ?

рдбреЗрдЯрд╛рдмреЗрд╕ 'рдмреАрдЯреА' рдХреЗ рд▓рд┐рдП 1070072 рдкреГрд╖реНрда рд╕рдВрд╕рд╛рдзрд┐рдд, рдлрд╝рд╛рдЗрд▓ 1 рдкрд░ рдлрд╝рд╛рдЗрд▓ 'рдмреАрдЯреА'ред

рдбреЗрдЯрд╛рдмреЗрд╕ 'рдмреАрдЯреА', рдлрд╝рд╛рдЗрд▓ 'рдмреАрдЯреА' рдХреЗ рд▓рд┐рдП 2 рдкреЗрдЬ рд╕рдВрд╕рд╛рдзрд┐рддрдлрд╝рд╛рдЗрд▓ 1 рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред

рдмреИрдХрдЕрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдиреЗ 1070074 рд╕реЗрдХрдВрдб (40.092 рдПрдордмреА/рд╕реЗрдХрдВрдб) рдореЗрдВ 208.519 рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ред

рдХреНрдпрд╛ рдЕрдЪрд╛рдирдХ рд╣реА рдмреИрдХрдЕрдк 25% рддреЗрдЬрд╝ рд╣реЛ рдЧрдпрд╛? рдпрджрд┐ рд╣рдо рдХреБрдЫ рдФрд░ рдЙрдкрдХрд░рдг рдЬреЛрдбрд╝ рджреЗрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

BACKUP DATABASE [bt]
TO 
    DISK = 'D:SQLServerbackupbt1.bak',
    DISK = 'D:SQLServerbackupbt2.bak',
    DISK = 'D:SQLServerbackupbt3.bak',
    DISK = 'D:SQLServerbackupbt4.bak'
WITH COMPRESSION;

рдмреИрдХрдЕрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдиреЗ 1070074 рд╕реЗрдХрдВрдб (34.234 рдПрдордмреА/рд╕реЗрдХрдВрдб) рдореЗрдВ 244.200 рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ред

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреЗ рд╕рдордп рдХрд╛ рд▓рдЧрднрдЧ 35% рд▓рд╛рдн рдХреЗрд╡рд▓ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдмреИрдХрдЕрдк рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рдбрд┐рд╕реНрдХ рдкрд░ 4 рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЬрд╛рдВрдЪ рдХреА - рдореЗрд░реЗ рд▓реИрдкрдЯреЙрдк рдкрд░ рдХреЛрдИ рд▓рд╛рдн рдирд╣реАрдВ рд╣реИ, рдЗрд╖реНрдЯрддрдо - 4 рдбрд┐рд╡рд╛рдЗрд╕ред рдЖрдкрдХреЗ рд▓рд┐рдП - рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛, рдЖрдкрдХреЛ рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рд╡реИрд╕реЗ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпреЗ рдЙрдкрдХрд░рдг рд╣реИрдВ - рдпреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд▓рдЧ рдбрд┐рд╕реНрдХ рд╣реИрдВ, рдмрдзрд╛рдИ рд╣реЛ, рд▓рд╛рдн рдФрд░ рднреА рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдм рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдЦрд╝реБрд╢реА рдХреЛ рдХреИрд╕реЗ рд╡рд╛рдкрд╕ рд▓рд╛рдпрд╛ рдЬрд╛рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХрдорд╛рдВрдб рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕рднреА рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

RESTORE DATABASE [bt]
FROM 
    DISK = 'D:SQLServerbackupbt1.bak',
    DISK = 'D:SQLServerbackupbt2.bak',
    DISK = 'D:SQLServerbackupbt3.bak',
    DISK = 'D:SQLServerbackupbt4.bak'
WITH REPLACE, RECOVERY;

рд░реАрд╕реНрдЯреЛрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдиреЗ 1070074 рд╕реЗрдХрдВрдб (38.027 рдПрдордмреА/рд╕реЗрдХрдВрдб) рдореЗрдВ 219.842 рдкреГрд╖реНрдареЛрдВ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ред

рдереЛрдбрд╝рд╛ рддреЗрдЬрд╝, рд▓реЗрдХрд┐рди рдХрд╣реАрдВ рдХрд░реАрдм, рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдмреИрдХрдЕрдк рдХреЛ рддреЗрдЬреА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╕рдлрд▓рддрд╛? рдЬрд╣рд╛рдБ рддрдХ рдореЗрд░реА рдмрд╛рдд рд╣реИ, рдпрд╣ рдХрд╛рдлреА рд╕рдлрд▓ рд╣реИред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ - рдпрджрд┐ рдЖрдк рдпрджрд┐ рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЦреЛ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдВрдкреВрд░реНрдг рдмреИрдХрдЕрдк рдЦреЛ рджреЗрддреЗ рд╣реИрдВ.

рдпрджрд┐ рдЖрдк рд▓реЙрдЧ рдореЗрдВ рдЯреНрд░реЗрд╕ рдлрд╝реНрд▓реИрдЧ 3213 рдФрд░ 3605 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдмреИрдХрдЕрдк рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдХрдИ рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХрд╛ рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдкрд░, рдХрдо рд╕реЗ рдХрдо BUFFERCOUNT рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред рд╕рдВрднрд╡рддрдГ, рдЖрдк BUFFERCOUNT, BLOCKSIZE, MAXTRANSFERSIZE рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЗрд╖реНрдЯрддрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рддреБрд░рдВрдд рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖ, рдФрд░ рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рджреЛрдмрд╛рд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рдерд╛, рд▓реЗрдХрд┐рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдПред рдФрд░ рдпрд╣ рдкрд╣рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИред рдпрджрд┐ рдЖрдк рдШрд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЖрдпреЛрдЬрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд░реАрдореЗрдХ рдмрдирд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред

рдЕрдВрдд рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХреАрдордд рдХреАред рдпрджрд┐ рдмреИрдХрдЕрдк рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдХрд╛рдо рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрд┐рдореНрдореЗрджрд╛рд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдкрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдмреИрдХрдЕрдк рддреЗрдЬреА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдбрд┐рд╕реНрдХ рдЕрдзрд┐рдХ рддрдирд╛рд╡рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рд▓реЛрдб рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ (рдЖрдкрдХреЛ рдЕрднреА рднреА рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛) рдпрд╣ рддреБрд░рдВрдд), рдФрд░ рддрджрдиреБрд╕рд╛рд░, рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕рдордЧреНрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдореИрдВ рдмрд╕ рдордЬрд╛рдХ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдХреЛрдИ рдЦреБрд▓рд╛рд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдКрдкрд░ рдЬреЛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рдХреЗрд╡рд▓ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╣реИ рдХрд┐ рдЖрдк рдмреИрдХрдЕрдк рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЪрдпрди рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдк рдЬреЛ рдХреБрдЫ рднреА рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдЕрдкрдиреЗ рдЬреЛрдЦрд┐рдо рдФрд░ рдЬреЛрдЦрд┐рдо рдкрд░ рдХрд░рддреЗ рд╣реИрдВред рдЕрдкрдиреЗ рдмреИрдХрдЕрдк рдЬрд╛рдВрдЪреЗрдВ рдФрд░ DBCC CHECKDB рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рди рднреВрд▓реЗрдВред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ