MS SQL рд╕рд░реНрднрд░: рд╕реНрдЯреЗрд░реЛрдЗрдбрд╣рд░реВрдорд╛ рдмреНрдпрд╛рдХрдЕрдк

рдкрд░реНрдЦрдиреБрд╣реЛрд╕реН! рдкрд░реНрдЦрдиреБрд╣реЛрд╕реН! рд╕рд╛рдБрдЪреЛ, рдпреЛ SQL Server рдмреНрдпрд╛рдХрдЕрдк рдХреЛ рдкреНрд░рдХрд╛рд░ рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдЕрд░реНрдХреЛ рд▓реЗрдЦ рдЫреИрдиред рдо рд░рд┐рдХрднрд░реА рдореЛрдбреЗрд▓рд╣рд░реВ рд░ рдХрд╕рд░реА рдмрдвреЗрдХреЛ рд▓рдЧрд╕рдБрдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд░реНрдиреЗ рдмреАрдЪрдХреЛ рднрд┐рдиреНрдирддрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрдирд┐ рдХреБрд░рд╛ рдЧрд░реНрджрд┐рдиред

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

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

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

рдЙрддреНрдкрд╛рджрдирдорд╛ BUFFERCOUNT, BLOCKSIZE, MAXTRANSFERSIZE рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдХрд╣рд┐рд▓реНрдпреИ рдкрд░рд┐рд╡рд░реНрддрди рдирдЧрд░реНрдиреБрд╣реЛрд╕реНред рддрд┐рдиреАрд╣рд░реВ рдХреЗрд╡рд▓ рддреНрдпрд╕реНрддрд╛ рд▓реЗрдЦрд╣рд░реВ рд▓реЗрдЦреНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдмрдирд╛рдЗрдПрдХрд╛ рд╣реБрдиреНред рдЕрднреНрдпрд╛рд╕рдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдХреБрдиреИ рдкрдирд┐ рд╕рдордпрдорд╛ рдореЗрдореЛрд░реА рд╕рдорд╕реНрдпрд╛рд╣рд░реВрдмрд╛рдЯ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдЙрдиреБрд╣реБрдиреЗрдЫред

рдпреЛ рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рд╣реЛрд╢рд┐рдпрд╛рд░ рд░ рд╡рд┐рд╢реЗрд╖ рд╕рд╛рдордЧреНрд░реА рдкреЛрд╕реНрдЯ рдЧрд░реНрди рд░рд╛рдореНрд░реЛ рд╣реБрдиреЗрдЫ, рддрд░, рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдпреЛ рдорд╛рдорд▓рд╛ рд╣реЛрдЗрдиред рддреНрдпрд╣рд╛рдБ рджреБрдмреИ рдЕрдВрдЧреНрд░реЗрдЬреА-рднрд╛рд╖рд╛ рд░ рд░реВрд╕реА-рднрд╛рд╖рд╛ рд▓реЗрдЦ/рдкреЛрд╕реНрдЯрд╣рд░реВ рдЫрдиреН (рдЙрдиреАрд╣рд░реВрд▓рд╛рдИ рдХреЗ рдмреЛрд▓рд╛рдЙрдиреЗ рднрдиреЗрд░ рдо рд╕рдзреИрдВ рдЕрд▓рдорд▓рдорд╛ рдЫреБ) рдпрд╕ рд╡рд┐рд╖рдпрдорд╛ рд╕рдорд░реНрдкрд┐рддред рдореИрд▓реЗ рднреЗрдЯреЗрдХрд╛ рдордзреНрдпреЗ рдХреЗрд╣реА рдпрд╣рд╛рдБ рдЫрдиреН: рдкрдЯрдХ, ╨┤╨▓╨░, рддреАрди (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 рднреНрд░рдордг рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫ? рдХреЗ рддрдкрд╛рдИрдВрд▓реЗ рджреЗрдЦреНрдиреБрднрдПрдХреЛ рдЫ рдХрд┐ рддреНрдпрд╣рд╛рдБ рдбреЗрдв рд╕реНрдХреНрд░рд┐рдирдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН? рдореИрд▓реЗ рдкрдирд┐ рджреЗрдЦреЗ...

рддрдкрд╛рдИрдВрд▓реЗ рд╕рд╛рдпрдж рдкрд╣рд┐рд▓реЗ рдиреИ рдорд╣рд╕реБрд╕ рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫ рдХрд┐ рд╣рд╛рдореА рдХреЛрдбрдХреЛ рдкрд╣рд┐рд▓реЛ рдмреНрд▓рдХрдорд╛ рд░рд╣реЗрдХрд╛ рддреАрди рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреМрдВ - BLOCKSIZE, BUFFERCOUNT рд░ MAXTRANSFERSIZEред рдпрд╣рд╛рдБ MSDN рдмрд╛рдЯ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдЫрдиреН:

BLOCKSIZE = { рдмреНрд▓рдХрд╕рд╛рдЗрдЬ | @ blocksize_variable } - рдмрд╛рдЗрдЯреНрд╕ рдорд╛ рднреМрддрд┐рдХ рдмреНрд▓рдХ рдЖрдХрд╛рд░ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред рд╕рдорд░реНрдерд┐рдд рдЖрдХрд╛рд░рд╣рд░реВ 512, 1024, 2048, 4096, 8192, 16, 384, рд░ 32 рдмрд╛рдЗрдЯреНрд╕ (768 KB) рд╣реБрдиреНред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдорд╛рди рдЯреЗрдк рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ 65 рд░ рдЕрдиреНрдп рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ 536 рд╣реЛред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ рдпреЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдЖрд╡рд╢реНрдпрдХ рдЫреИрди рдХрд┐рдирднрдиреЗ рдмреНрдпрд╛рдХрдЕрдк рдХрдердирд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдЙрдкрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдмреНрд▓рдХ рд╕рд╛рдЗрдЬ рдЪрдпрди рдЧрд░реНрджрдЫред рдмреНрд▓рдХ рд╕рд╛рдЗрдЬ рд╕реЗрдЯ рдЧрд░реНрдирд╛рд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдмреНрд▓рдХ рд╕рд╛рдЗрдЬ рдЪрдпрдирд▓рд╛рдИ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рдУрднрд░рд░рд╛рдЗрдб рдЧрд░реНрдЫред

BUFFERCOUNT = { рдмрдлрд░ рдЧрдгрдирд╛ | @ buffercount_variable } - рдмреНрдпрд╛рдХрдЕрдк рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреЗ I/O рдмрдлрд░рд╣рд░реВрдХреЛ рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫред рддрдкрд╛рдИрд▓реЗ рдХреБрдиреИ рдкрдирд┐ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ Sqlservr.exe рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рдЕрддреНрдпрдзрд┐рдХ рднрд░реНрдЪреБрдЕрд▓ рдареЗрдЧрд╛рдирд╛ рд╕реНрдкреЗрд╕рдХреЛ рдХрд╛рд░рдгрд▓реЗ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рдорд╛ рдмрдлрд░рд╣рд░реВрд▓реЗ рдореЗрдореЛрд░реА рдЖрдЙрдЯрдХреЛ рддреНрд░реБрдЯрд┐ рдирд┐рдореНрддреНрдпрд╛рдЙрди рд╕рдХреНрдЫред

рдмрдлрд░рд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдард╛рдЙрдБрдХреЛ рдХреБрд▓ рдорд╛рддреНрд░рд╛ рдирд┐рдореНрди рд╕реВрддреНрд░рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫ: BUFFERCOUNT * MAXTRANSFERSIZE.

рдЕрдзрд┐рдХрддрдо рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг = { рдЕрдзрд┐рдХрддрдо рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг | @ maxtransfersize_variable } SQL рд╕рд░реНрднрд░ рд░ рдмреНрдпрд╛рдХрдЕрдк рд╕реЗрдЯ рдорд┐рдбрд┐рдпрд╛ рдмреАрдЪрдХреЛ рдЖрджрд╛рдирдкреНрд░рджрд╛рди рдЧрд░реНрди рдмрд╛рдЗрдЯрд╣рд░реВрдорд╛, рд╕рдмреИрднрдиреНрджрд╛ рдареВрд▓реЛ рдбреЗрдЯрд╛ рдкреНрдпрд╛рдХреЗрдЯ рдЖрдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджрдЫред 65 рдмрд╛рдЗрдЯреНрд╕ (536 KB) 64 рдмрд╛рдЗрдЯреНрд╕ (4 MB) рд╕рдореНрдордХреЛ рдмрд╣реБрд╣рд░реВ рд╕рдорд░реНрдерд┐рдд рдЫрдиреНред

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

рдореИрд▓реЗ рд╕рд╛рдиреЛ рдбрд╛рдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдБ, рд▓рдЧрднрдЧ 10 GB рд╕рд╛рдЗрдЬрдорд╛, рдпрд╕рд▓рд╛рдИ SSD рдорд╛ рд░рд╛рдЦреЗрдВ, рд░ HDD рдорд╛ рдмреНрдпрд╛рдХрдЕрдкрдХреЛ рд▓рд╛рдЧрд┐ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд░рд╛рдЦреЗрдВред

рдо рдирддрд┐рдЬрд╛рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдЕрд╕реНрдерд╛рдпреА рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдЙрдБрдЫреБ (рдорд╕рдБрдЧ рдпреЛ рдЕрд╕реНрдерд╛рдпреА рдЫреИрди, рддреНрдпрд╕реИрд▓реЗ рдо рдирддрд┐рдЬрд╛рд╣рд░реВ рдердк рд╡рд┐рд╡рд░рдгрдорд╛ рдЦреЛрд▓реНрди рд╕рдХреНрдЫреБ, рддрд░ рддрдкрд╛рдИрдВ рдЖрдлреИ рдирд┐рд░реНрдгрдп рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ):

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

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

BLOCKSIZE рдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореАрд╕рдБрдЧ рдорд╛рдирд╣рд░реВрдХреЛ "рдмрдВрдж" рд╕реВрдЪреА рдЫ, рд░ рдореИрд▓реЗ BLOCKSIZE < 4KB рд╕рдБрдЧ рдмреНрдпрд╛рдХрдЕрдк рдЧрд░реЗрдХреЛ рдЫреИрдиред 64KB рдмрд╛рдЯ 64MB рд╕рдореНрдо - 4KB рдХреЛ рдЧреБрдгрди рднрдПрдХреЛ рдХреБрдиреИ рдкрдирд┐ рд╕рдВрдЦреНрдпрд╛рд▓рд╛рдИ MAXTRANSFERSIZE рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдореЗрд░реЛ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд 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;

рдЦреИрд░, рдмреНрдпрд╛рдХрдЕрдк рд░ рдмреНрдпрд╛рдХрдЕрдк:

рдбрд╛рдЯрд╛рдмреЗрд╕ 'bt' рдХреЛ рд▓рд╛рдЧрд┐ 1070072 рдкреГрд╖реНрдард╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдпреЛ, рдлрд╛рдЗрд▓ 1 рдорд╛ рдлрд╛рдЗрд▓ 'bt'ред

рдбрд╛рдЯрд╛рдмреЗрд╕ 'bt', рдлрд╛рдЗрд▓ рез рдорд╛ рдлрд╛рдЗрд▓ 'bt_log' рдХреЛ рд▓рд╛рдЧрд┐ реи рдкреГрд╖реНрдард╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдпреЛред

рдмреНрдпрд╛рдХрдЕрдк рдбрд╛рдЯрд╛рдмреЗрд╕рд▓реЗ 1070074 рд╕реЗрдХреЗрдиреНрдб (53.171 MB/рд╕реЗрдХреЗрдиреНрдб) рдорд╛ 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;

MS SQL рд╕рд░реНрднрд░: рд╕реНрдЯреЗрд░реЛрдЗрдбрд╣рд░реВрдорд╛ рдмреНрдпрд╛рдХрдЕрдк

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

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

рддреАред рдорд╛рдирдХ рдмреНрдпрд╛рдХрдЕрдк рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реЗрд░ рдорд╛рддреНрд░ рдмреНрдпрд╛рдХрдЕрдк рд╣рдЯрд╛рдЙрдиреЗ рд╕рдордпрдорд╛ 2-рдЧреБрдирд╛ рд▓рд╛рдн рдерд┐рдпреЛ: 26 рд╕реЗрдХреЗрдиреНрдб, рд╕реБрд░реБрдорд╛ 53 рдмрдирд╛рдоред рддреНрдпреЛ рдирд░рд╛рдореНрд░реЛ рд╣реЛрдЗрди, рд╣реИрди? рддрд░ рд╣рд╛рдореАрд▓реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рд╕рдВрдЧ рдХреЗ рд╣реБрдиреНрдЫ рд╣реЗрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЕрдм рдирд┐рдХреЛ рд╣реБрди рек рдЧреБрдгрд╛ рдмрдвреА рд▓рд╛рдЧреЗрдорд╛ рдХреЗ рд╣реБрдиреНрдЫ?

рдкрд╣рд┐рд▓реЗ, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдХреЛ рд╕рд╛рде рдмреНрдпрд╛рдХрдЕрдк рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдХрддрд┐ рд╕рдордп рд▓рд╛рдЧреНрдЫ рдорд╛рдкрди рдЧрд░реМрдВ:

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

рдард┐рдХ рдЫ, рддрдкрд╛рдИ рдЖрдлреИрд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ, рддреНрдпрд╣рд╛рдБ рддрд░рд┐рдХрд╛рд╣рд░реВ рдЫрдиреН, рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реЛрдЗрди, рд░рд┐рдХрднрд░реА рд░рд┐рдХрднрд░реА рд╣реЛрдЗрдиред рд░ рдо рдпреЛ рдЧрд░реНрдЫреБ:

рдбрд╛рдЯрд╛рдмреЗрд╕ 'bt' рдХреЛ рд▓рд╛рдЧрд┐ 1070072 рдкреГрд╖реНрдард╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдпреЛ, рдлрд╛рдЗрд▓ 1 рдорд╛ рдлрд╛рдЗрд▓ 'bt'ред

рдбрд╛рдЯрд╛рдмреЗрд╕ 'bt', рдлрд╛рдЗрд▓ рез рдорд╛ рдлрд╛рдЗрд▓ 'bt_log' рдХреЛ рд▓рд╛рдЧрд┐ реи рдкреГрд╖реНрдард╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдпреЛред

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

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

BLOCKSIZE = 16384, BUFFERCOUNT = 224, MAXTRANSFERSIZE = 4194304

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

BLOCKSIZE = 4096, BUFFERCOUNT = 448, MAXTRANSFERSIZE = 4194304

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

BLOCKSIZE = 16384, BUFFERCOUNT = 448, MAXTRANSFERSIZE = 2097152

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

BLOCKSIZE = 4096, BUFFERCOUNT = 56, MAXTRANSFERSIZE = 4194304

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

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

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

рдо рдкрдирд┐ рджреГрдврддрд╛рдХрд╛ рд╕рд╛рде рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫреБ рдХрд┐ рддрдкрд╛рдЗрдБ рд╕рдореНрдкреВрд░реНрдг рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдкрдвреНрдиреБрд╣реЛрд╕реН, рдХрд┐рдирдХрд┐ рддрдкрд╛рдЗрдБрдХреЛ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рд╣рд░реВ рд╣реБрди рд╕рдХреНрдЫред

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

рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рдмреНрдпрд╛рдХрдЕрдк рдбрд╛рдЯрд╛рдмреЗрд╕ рдЕрдиреНрддрд░реНрдЧрдд рдХрд╛рдЧрдЬрд╛рддрдорд╛ рджреЛрд╕реНрд░реЛ рд▓рд╛рдЗрди рд╣реЗрд░реНтАНрдпреМрдВ рднрдиреЗ, рд╣рд╛рдореА рддреНрдпрд╣рд╛рдБ рджреЗрдЦреНрдЫреМрдВ:

TO <backup_device> [ ,...n ]

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

рдПрдЙрдЯреИ рдлреЛрд▓реНрдбрд░рдорд╛ рдЫреЗрдЙрдорд╛ рдЕрд╡рд╕реНрдерд┐рдд рджреБрдИ "рдЙрдкрдХрд░рдгрд╣рд░реВ" рдорд╛ рдмреНрдпрд╛рдХрдЕрдк рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ:

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

рд╕рдВрд╕рд╛рд░рдХрд╛ рдкрд┐рддрд╛, рдХрд┐рди рдпрд╕реНрддреЛ рднрдЗрд░рд╣реЗрдХреЛ рдЫ ?

рдбрд╛рдЯрд╛рдмреЗрд╕ 'bt' рдХреЛ рд▓рд╛рдЧрд┐ 1070072 рдкреГрд╖реНрдард╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдпреЛ, рдлрд╛рдЗрд▓ 1 рдорд╛ рдлрд╛рдЗрд▓ 'bt'ред

рдбрд╛рдЯрд╛рдмреЗрд╕ 'bt', рдлрд╛рдЗрд▓ 'bt' рдХреЛ рд▓рд╛рдЧрд┐ реи рдкреГрд╖реНрдард╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдпреЛрд▓рдЧ' рдлрд╛рдЗрд▓ 1 рдорд╛ред

рдмреНрдпрд╛рдХрдЕрдк рдбрд╛рдЯрд╛рдмреЗрд╕рд▓реЗ 1070074 рд╕реЗрдХреЗрдиреНрдб (40.092 MB/рд╕реЗрдХреЗрдиреНрдб) рдорд╛ 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 MB/рд╕реЗрдХреЗрдиреНрдб) рдорд╛ 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 MB/рд╕реЗрдХреЗрдиреНрдб) рдорд╛ 219.842 рдкреГрд╖реНрдард╣рд░реВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдпреЛред

рдЕрд▓рд┐ рдЫрд┐рдЯреЛ, рддрд░ рдХрддреИ рдирдЬрд┐рдХ, рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫреИрдиред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдмреНрдпрд╛рдХрдЕрдк рдЫрд┐рдЯреЛ рд╣рдЯрд╛рдЗрдПрдХреЛ рдЫ рд░ рдЙрд╣реА рддрд░рд┐рдХрд╛рдорд╛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрдирд╛ - рд╕рдлрд▓рддрд╛? рдореЗрд░реЛ рд▓рд╛рдЧрд┐, рдпреЛ рдПрдХрджрдо рд╕рдлрд▓ рдЫред рдпреЛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ, рддреНрдпрд╕реИрд▓реЗ рдо рджреЛрд╣реЛрд░реНрдпрд╛рдЙрдБрдЫреБ - рдпрджрд┐ рддрдкрд╛рдИрдВ рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдпреА рдлрд╛рдЗрд▓рд╣рд░реВ рдордзреНрдпреЗ рдХрдореНрддрд┐рдорд╛ рдПрдЙрдЯрд╛ рд╣рд░рд╛рдЙрдиреБрднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рд╕рдореНрдкреВрд░реНрдг рдмреНрдпрд╛рдХрдЕрдк рдЧреБрдорд╛рдЙрдиреБрд╣реБрдиреНрдЫ.

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

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

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

рдпрд╛рдж рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЧрд░реНрдиреБрд╣реБрдиреЗ рд╕рдмреИ рдХреБрд░рд╛ рддрдкрд╛рдИрдВрдХреЛ рдЖрдлреНрдиреИ рдЬреЛрдЦрд┐рдо рд░ рдЬреЛрдЦрд┐рдордорд╛ рдЧрд░рд┐рдиреНрдЫред рдЖрдлреНрдиреЛ рдмреНрдпрд╛рдХрдЕрдк рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ DBCC CHECKDB рдмрд╛рд░реЗ рдирдмрд┐рд░реНрд╕рдиреБрд╣реЛрд╕реНред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди