MS SQL เชธเชฐเซเชตเชฐ: เชธเซเชŸเซ‡เชฐเซ‹เช‡เชกเซเชธ เชชเชฐ เชฌเซ‡เช•เช…เชช

เชฐเชพเชน เชœเซเช“! เชฐเชพเชน เชœเซเช“! เชธเชพเชšเซเช‚, เช† SQL เชธเชฐเซเชตเชฐ เชฌเซ‡เช•เช…เชชเชจเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เชตเชฟเชถเซ‡เชจเซ‹ เชฌเซ€เชœเซ‹ เชฒเซ‡เช– เชจเชฅเซ€. เชนเซเช‚ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชคเชฟ เชฎเซ‹เชกเชฒ เชตเชšเซเชšเซ‡เชจเชพ เชคเชซเชพเชตเชคเซ‹ เช…เชจเซ‡ เชตเชงเซ เชชเชกเชคเชพ เชฒเซ‰เช— เชธเชพเชฅเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชตเซเชฏเชตเชนเชพเชฐ เช•เชฐเชตเซ‹ เชคเซ‡ เชตเชฟเชถเซ‡ เชชเชฃ เชตเชพเชค เช•เชฐเซ€เชถ เชจเชนเซ€เช‚.

เช•เชฆเชพเชš (เชซเช•เซเชค เช•เชฆเชพเชš), เช† เชชเซ‹เชธเซเชŸ เชตเชพเช‚เชšเซเชฏเชพ เชชเช›เซ€, เชคเชฎเซ‡ เช–เชพเชคเชฐเซ€ เช•เชฐเซ€ เชถเช•เชถเซ‹ เช•เซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชฎเชพเชงเซเชฏเชฎเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡เชฅเซ€ เชœเซ‡ เชฌเซ‡เช•เช…เชช เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชคเซ‡ เช†เชตเชคเซ€เช•เชพเชฒเซ‡ เชฐเชพเชคเซเชฐเซ‡, เชธเชพเชฐเซเช‚, 1.5 เช—เชฃเซ€ เชเชกเชชเซ€ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เช เชนเช•เซ€เช•เชคเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช•เซ‡ เชคเชฎเซ‡ เชฅเซ‹เชกเชพ เชตเชงเซ เชฌเซ‡เช•เช…เชช เชกเซ‡เชŸเชพเชฌเซ‡เช เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹.

เชœเซ‹ เชชเซ‹เชธเซเชŸเชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡ เชธเซเชชเชทเซเชŸ เชนเชคเซ€, เชคเซ‹ เชฎเชจเซ‡ เชฎเชพเชซ เช•เชฐเชถเซ‹. "habr sql เชธเชฐเซเชตเชฐ เชฌเซ‡เช•เช…เชช" เชตเชพเช•เซเชฏ เชฎเชพเชŸเซ‡ Google เชจเซ‡ เชœเซ‡ เชฎเชณเซเชฏเซเช‚ เชคเซ‡ เชฌเชงเซเช‚ เชฎเซ‡เช‚ เชตเชพเช‚เชšเซเชฏเซเช‚, เช…เชจเซ‡ เชเช• เชชเชฃ เชฒเซ‡เช–เชฎเชพเช‚ เชฎเชจเซ‡ เช เชนเช•เซ€เช•เชคเชจเซ‹ เช•เซ‹เชˆ เช‰เชฒเซเชฒเซ‡เช– เชฎเชณเซเชฏเซ‹ เชจเชฅเซ€ เช•เซ‡ เชฌเซ‡เช•เช…เชช เชธเชฎเชฏเชจเซ‡ เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เซ‹เชˆเช• เชฐเซ€เชคเซ‡ เชชเซเชฐเชญเชพเชตเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชนเซเช‚ เชคเชฐเชค เชœ เชคเชฎเชพเชฐเซเช‚ เชงเซเชฏเชพเชจ เชเชฒเซ‡เช•เซเชเชพเช‚เชกเชฐ เช—เซเชฒเซ‡เชกเชšเซ‡เชจเซเช•เซ‹เชจเซ€ เชŸเชฟเชชเซเชชเชฃเซ€ เชคเชฐเชซ เชฆเซ‹เชฐเซ€เชถ (@mssqlhelp):

เช‰เชคเซเชชเชพเชฆเชจเชฎเชพเช‚ BUFFERCOUNT, BLOCKSIZE, MAXTRANSFERSIZE เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‡ เช•เซเชฏเชพเชฐเซ‡เชฏ เชฌเชฆเชฒเชถเซ‹ เชจเชนเซ€เช‚. เชคเซ‡เช“ เช†เชตเชพ เชฒเซ‡เช–เซ‹ เชฒเช–เชตเชพ เชฎเชพเชŸเซ‡ เชœ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡. เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช‚, เชคเชฎเซ‡ เชฅเซ‹เชกเชพ เชœ เชธเชฎเชฏเชฎเชพเช‚ เชฎเซ‡เชฎเชฐเซ€ เชธเชฎเชธเซเชฏเชพเช“เชฅเซ€ เช›เซเชŸเช•เชพเชฐเซ‹ เชฎเซ‡เชณเชตเชถเซ‹.

เชคเซ‡, เช…เชฒเชฌเชคเซเชค, เชธเซŒเชฅเซ€ เชธเซเชฎเชพเชฐเซเชŸ เช…เชจเซ‡ เชชเซ‹เชธเซเชŸ เชตเชฟเชถเชฟเชทเซเชŸ เชธเชพเชฎเช—เซเชฐเซ€ เชฌเชจเชตเซเช‚ เชธเชฐเชธ เชฐเชนเซ‡เชถเซ‡, เชชเชฐเช‚เชคเซ, เช•เชฎเชจเชธเซ€เชฌเซ‡, เช† เช•เซ‡เชธ เชจเชฅเซ€. เช† เชตเชฟเชทเชฏเชจเซ‡ เชธเชฎเชฐเซเชชเชฟเชค เช…เช‚เช—เซเชฐเซ‡เชœเซ€-เชญเชพเชทเชพ เช…เชจเซ‡ เชฐเชถเชฟเชฏเชจ-เชญเชพเชทเชพเชจเชพ เชฒเซ‡เช–เซ‹/เชชเซ‹เชธเซเชŸ เชฌเช‚เชจเซ‡ เช›เซ‡ (เชคเซ‡เชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชถเซเช‚ เช•เชนเซ‡เชตเซเช‚ เชคเซ‡ เช…เช‚เช—เซ‡ เชนเซเช‚ เชนเช‚เชฎเซ‡เชถเชพ เชฎเซ‚เช‚เชเชตเชฃเชฎเชพเช‚ เช›เซเช‚). เช…เชนเซ€เช‚ เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เช›เซ‡: เชตเช–เชค, ะดะฒะฐ, เชคเซเชฐเชฃ (sql.ru เชชเชฐ).

เชคเซ‡เชฅเซ€, เชถเชฐเซเช†เชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชนเซเช‚ เชฎเชพเช‚เชฅเซ€ เชฅเซ‹เชกเซ‹ เชธเซเชŸเซเชฐเชฟเชช-เชกเชพเช‰เชจ เชฌเซ‡เช•เช…เชช เชธเชฟเชจเซเชŸเซ‡เช•เซเชธ เชœเซ‹เชกเซ€เชถ เชเชฎเชเชธเชกเซ€เชเชจ (เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เชฎเซ‡เช‚ เช‰เชชเชฐ เชฌเซ‡เช•เช…เชช เชกเซ‡เชŸเชพเชฌเซ‡เช เชตเชฟเชถเซ‡ เชฒเช–เซเชฏเซเช‚ เช›เซ‡, เชชเชฐเช‚เชคเซ เช† เชฌเชงเซเช‚ เชŸเซเชฐเชพเชจเซเชเซ‡เช•เซเชถเชจ เชฒเซ‹เช— เชฌเซ‡เช•เช…เชช เช…เชจเซ‡ เชตเชฟเชญเซ‡เชฆเช• เชฌเซ‡เช•เช…เชช เชฌเช‚เชจเซ‡เชจเซ‡ เชฒเชพเช—เซ เชชเชกเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เช•เชฆเชพเชš เช“เช›เซ€ เชธเซเชชเชทเซเชŸ เช…เชธเชฐ เชธเชพเชฅเซ‡):

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 = { เชฌเซเชฒเซ‹เช•เชธเชพเช‡เช | @ เชฌเซเชฒเซ‹เช•เชธเชพเช‡เช_เชšเชฒ } - เชฌเชพเช‡เชŸเซเชธเชฎเชพเช‚ เชญเซŒเชคเชฟเช• เชฌเซเชฒเซ‹เช•เชจเซเช‚ เช•เชฆ เชธเซเชชเชทเซเชŸ เช•เชฐเซ‡ เช›เซ‡. เชธเชฎเชฐเซเชฅเชฟเชค เช•เชฆ 512, 1024, 2048, 4096, 8192, 16, 384 เช…เชจเซ‡ 32 เชฌเชพเช‡เชŸเซเชธ (768 KB) เช›เซ‡. เชŸเซ‡เชช เช‰เชชเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฎเซ‚เชฒเซเชฏ 65 เช…เชจเซ‡ เช…เชจเซเชฏ เช‰เชชเช•เชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ 536 เช›เซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช† เชชเชฐเชฟเชฎเชพเชฃ เชœเชฐเซ‚เชฐเซ€ เชจเชฅเซ€ เช•เชพเชฐเชฃ เช•เซ‡ เชฌเซ‡เช•เช…เชช เชธเซเชŸเซ‡เชŸเชฎเซ‡เชจเซเชŸ เช†เชชเชฎเซ‡เชณเซ‡ เช‰เชชเช•เชฐเชฃ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชฌเซเชฒเซ‹เช• เชฎเชพเชช เชชเชธเช‚เชฆ เช•เชฐเซ‡ เช›เซ‡. เชฌเซเชฒเซ‹เช•เชจเซเช‚ เช•เชฆ เชธเซเชฏเซ‹เชœเชฟเชค เช•เชฐเชตเซเช‚ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชธเซเชตเชฏเช‚เชธเช‚เชšเชพเชฒเชฟเชค เชฌเซเชฒเซ‹เช• เช•เชฆเชจเซ€ เชชเชธเช‚เชฆเช—เซ€เชจเซ‡ เช“เชตเชฐเชฐเชพเช‡เชก เช•เชฐเซ‡ เช›เซ‡.

เชฌเชซเชฐเช•เชพเช‰เชจเซเชŸ = { เชฌเชซเชฐ เช—เชฃเชคเชฐเซ€ | @ buffercount_variable } - I/O เชฌเชซเชฐเชจเซ€ เช•เซเชฒ เชธเช‚เช–เซเชฏเชพ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฌเซ‡เช•เช…เชช เช“เชชเชฐเซ‡เชถเชจ เชฎเชพเชŸเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เชคเชฎเซ‡ เช•เซ‹เชˆเชชเชฃ เชธเช•เชพเชฐเชพเชคเซเชฎเช• เชชเซ‚เชฐเซเชฃเชพเช‚เช• เชฎเซ‚เชฒเซเชฏเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ Sqlservr.exe เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชตเชงเซ เชชเชกเชคเซ€ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชเชกเซเชฐเซ‡เชธ เชธเซเชชเซ‡เชธเชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชฌเชซเชฐเซเชธ เช†เช‰เชŸ-เช“เชซ-เชฎเซ‡เชฎเชฐเซ€ เชญเซ‚เชฒเชจเซเช‚ เช•เชพเชฐเชฃ เชฌเชจเซ€ เชถเช•เซ‡ เช›เซ‡.

เชฌเชซเชฐเซเชธ เชฆเซเชตเชพเชฐเชพ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซ€ เชœเช—เซเชฏเชพเชจเซ€ เช•เซเชฒ เชฐเช•เชฎ เชจเซ€เชšเซ‡เชจเชพ เชธเซ‚เชคเซเชฐ เชฆเซเชตเชพเชฐเชพ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡: BUFFERCOUNT * MAXTRANSFERSIZE.

เชฎเชนเชคเซเชคเชฎ เชŸเซเชฐเชพเชจเซเชธเชซเชฐเชธเชพเช‡เช = { maxtransfersize | @ maxtransfersize_variable } เชเชธเช•เซเชฏเซเชเชฒ เชธเชฐเซเชตเชฐ เช…เชจเซ‡ เชฌเซ‡เช•เช…เชช เชธเซ‡เชŸ เชฎเซ€เชกเชฟเชฏเชพ เชตเชšเซเชšเซ‡ เชตเชฟเชจเชฟเชฎเชฏ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเชพเช‡เชŸเซเชธเชฎเชพเช‚ เชธเซŒเชฅเซ€ เชฎเซ‹เชŸเชพ เชกเซ‡เชŸเชพ เชชเซ‡เช•เซ‡เชŸ เช•เชฆเชจเซ‹ เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซ‡ เช›เซ‡. 65 เชฌเชพเช‡เชŸเซเชธ (536 MB) เชธเซเชงเซ€เชจเชพ 64 เชฌเชพเช‡เชŸเซเชธ (4 KB) เชจเชพ เช—เซเชฃเชพเช‚เช• เชธเชชเซ‹เชฐเซเชŸเซ‡เชก เช›เซ‡.

เชนเซเช‚ เชถเชชเชฅ เชฒเซ‡เช‰เช‚ เช›เซเช‚ - เชฎเซ‡เช‚ เช† เชชเชนเซ‡เชฒเชพเช‚ เชตเชพเช‚เชšเซเชฏเซเช‚ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฎเชจเซ‡ เช•เซเชฏเชพเชฐเซ‡เชฏ เชเชตเซเช‚ เชฒเชพเช—เซเชฏเซเช‚ เชจเชฅเซ€ เช•เซ‡ เชคเซ‡เช“ เช‰เชคเซเชชเชพเชฆเช•เชคเชพ เชชเชฐ เช•เซ‡เชŸเชฒเซ€ เช…เชธเชฐ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชฆเซ‡เช–เซ€เชคเซ€ เชฐเซ€เชคเซ‡, เชฎเชพเชฐเซ‡ เชเช• เชชเซเชฐเช•เชพเชฐเชจเซเช‚ "เชฌเชนเชพเชฐ เช†เชตเชตเซเช‚" เช…เชจเซ‡ เช•เชฌเซ‚เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช•เซ‡ เชคเซ‡เช“ เชถเซเช‚ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡ เชคเซ‡ เชนเชœเซ€ เชชเชฃ เชนเซเช‚ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชธเชฎเชœเซ€ เชถเช•เชคเซ‹ เชจเชฅเซ€. เชฎเชจเซ‡ เช•เชฆเชพเชš เชฌเชซเชฐ เช•เชฐเซ‡เชฒ 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
);

เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‹ เชธเชฟเชฆเซเชงเชพเช‚เชค เชธเชฐเชณ เช›เซ‡ - เชจเซ‡เชธเซเชŸเซ‡เชก เชฒเซ‚เชชเซเชธ, เชœเซ‡เชฎเชพเช‚เชฅเซ€ เชฆเชฐเซ‡เช• เชเช• เชชเชฐเชฟเชฎเชพเชฃเชจเซ€ เช•เชฟเช‚เชฎเชคเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ‡ เช›เซ‡, เช† เชชเชฐเชฟเชฎเชพเชฃเซ‹เชจเซ‡ BACKUP เช†เชฆเซ‡เชถเชฎเชพเช‚ เชฆเชพเช–เชฒ เช•เชฐเซ‹, 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 เชจเซ‹ เช—เซเชฃเชพเช‚เช• เชงเชฐเชพเชตเชคเซ€ เช•เซ‹เชˆเชชเชฃ เชธเช‚เช–เซเชฏเชพเชจเซ‡ เชฎเชนเชคเซเชคเชฎ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเซ‹. เชฎเชพเชฐเซ€ เชธเชฟเชธเซเชŸเชฎ เชชเชฐ เชกเชฟเชซเซ‹เชฒเซเชŸ 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' เชฎเชพเชŸเซ‡ 2 เชชเซƒเชทเซเช เซ‹เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ, เชซเชพเช‡เชฒ 1 เชชเชฐ 'bt_log' เชซเชพเช‡เชฒ.

เชฌเซ‡เช•เช…เชช เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡ 1070074 เชธเซ‡เช•เชจเซเชก (53.171 MB/sec) เชฎเชพเช‚ 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 เชตเชฟเชฐเซเชฆเซเชง. เชคเซ‡ เช–เชฐเชพเชฌ เชจเชฅเซ€, เชฌเชฐเชพเชฌเชฐ? เชชเชฐเช‚เชคเซ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชจ เชธเชพเชฅเซ‡ เชถเซเช‚ เชฅเชพเชฏ เช›เซ‡ เชคเซ‡ เชœเซ‹เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชœเซ‹ เชนเชตเซ‡ เชคเซ‡เชจเซ‡ เชธเชพเชœเชพ เชฅเชตเชพเชฎเชพเช‚ 4 เช—เชฃเซ‹ เชตเชงเซ เชธเชฎเชฏ เชฒเชพเช—เซ‡ เชคเซ‹ เชถเซเช‚?

เชชเซเชฐเชฅเชฎ, เชšเชพเชฒเซ‹ เชฎเชพเชชเซ€เช เช•เซ‡ เชกเชฟเชซเซ‹เชฒเซเชŸ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชธเชพเชฅเซ‡ เชฌเซ‡เช•เช…เชช เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช•เซ‡เชŸเชฒเซ‹ เชธเชฎเชฏ เชฒเชพเช—เซ‡ เช›เซ‡:

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

เช เซ€เช• เช›เซ‡, เชคเชฎเซ‡ เชชเซ‹เชคเซ‡ เชœเชพเชฃเซ‹ เช›เซ‹ เช•เซ‡, เชฎเชพเชฐเซเช—เซ‹ เช›เซ‡, เชฌเชฆเชฒเซ‹ เช เชฌเชฆเชฒเซ‹ เชจเชฅเซ€, เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชคเชฟ เช เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชคเชฟ เชจเชฅเซ€. เช…เชจเซ‡ เชนเซเช‚ เชคเซ‡เชจเซ‡ เช†เชจเซ€ เชœเซ‡เชฎ เช•เชฐเซเช‚ เช›เซเช‚:

เชกเซ‡เชŸเชพเชฌเซ‡เช 'bt' เชฎเชพเชŸเซ‡ 1070072 เชชเซƒเชทเซเช เซ‹เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ, เชซเชพเช‡เชฒ 1 เชชเชฐ 'bt' เชซเชพเช‡เชฒ.

เชกเซ‡เชŸเชพเชฌเซ‡เช 'bt' เชฎเชพเชŸเซ‡ 2 เชชเซƒเชทเซเช เซ‹เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ, เชซเชพเช‡เชฒ 1 เชชเชฐ 'bt_log' เชซเชพเช‡เชฒ.

เชฐเซ€เชธเซเชŸเซ‹เชฐ เชกเซ‡เชŸเชพเชฌเซ‡เช เช 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;

เชœเช—เชคเชจเชพ เชชเชฟเชคเชพเช“, เช†เชตเซเช‚ เช•เซ‡เชฎ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡?

เชกเซ‡เชŸเชพเชฌเซ‡เช 'bt' เชฎเชพเชŸเซ‡ 1070072 เชชเซƒเชทเซเช เซ‹เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ, เชซเชพเช‡เชฒ 1 เชชเชฐ 'bt' เชซเชพเช‡เชฒ.

เชกเซ‡เชŸเชพเชฌเซ‡เช 'bt', เชซเชพเชˆเชฒ 'bt' เชฎเชพเชŸเซ‡ 2 เชชเซƒเชทเซเช เซ‹เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ€เชซเชพเช‡เชฒ 1 เชชเชฐ เชฒเซ‹เช— เช•เชฐเซ‹.

เชฌเซ‡เช•เช…เชช เชกเซ‡เชŸเชพเชฌเซ‡เชธเซ‡ 1070074 เชธเซ‡เช•เชจเซเชก (40.092 MB/sec) เชฎเชพเช‚ 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/sec) เชฎเชพเช‚ 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, BLOCKSIZE, MAXTRANSFERSIZE เชฎเชพเชŸเซ‡ เชตเชงเซ เชถเซเชฐเซ‡เชทเซเช  เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชชเชธเช‚เชฆ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชชเชฐเช‚เชคเซ เชนเซเช‚ เชคเชฐเชค เชœ เชธเชซเชณ เชฅเชฏเซ‹ เชจเชฅเซ€, เช…เชจเซ‡ เชนเซเช‚ เชซเชฐเซ€เชฅเซ€ เช†เชตเชพ เชชเชฐเซ€เช•เซเชทเชฃ เชนเชพเชฅ เชงเชฐเชตเชพ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เช†เชณเชธเซ เชนเชคเซ‹, เชชเชฐเช‚เชคเซ เชซเชพเช‡เชฒเซ‹เชจเซ€ เช…เชฒเช— เชธเช‚เช–เซเชฏเชพ เชฎเชพเชŸเซ‡. เช…เชจเซ‡ เชคเซ‡ เชตเซเชนเซ€เชฒเซเชธ เชตเชฟเชถเซ‡ เชถเชฐเชฎเชœเชจเช• เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เช˜เชฐเซ‡ เช†เชตเชพ เชชเชฐเซ€เช•เซเชทเชฃเชจเซเช‚ เช†เชฏเซ‹เชœเชจ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‡ เชฐเซ€เชฎเซ‡เช• เช•เชฐเชตเซ€ เชฎเซเชถเซเช•เซ‡เชฒ เชจเชฅเซ€.

เช›เซ‡เชฒเซเชฒเซ‡, เชšเชพเชฒเซ‹ เช•เชฟเช‚เชฎเชค เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เช. เชœเซ‹ เชฌเซ‡เช•เช…เชช เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เชจเชพ เช•เชพเชฐเซเชฏ เชธเชพเชฅเซ‡ เชธเชฎเชพเช‚เชคเชฐ เชฐเซ€เชคเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เชชเชฐเซ€เช•เซเชทเชฃ เชฎเชพเชŸเซ‡ เช–เซ‚เชฌ เชœ เชœเชตเชพเชฌเชฆเชพเชฐ เช…เชญเชฟเช—เชฎ เช…เชชเชจเชพเชตเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เช•เชพเชฐเชฃ เช•เซ‡ เชœเซ‹ เชฌเซ‡เช•เช…เชช เชเชกเชชเชฅเซ€ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‹ เชกเชฟเชธเซเช• เชตเชงเซ เชคเชพเชฃเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เชชเชฐเชจเซ‹ เชญเชพเชฐ เชตเชงเซ‡ เช›เซ‡ (เชคเชฎเชพเชฐเซ‡ เชนเชœเซ€ เชชเชฃ เชธเช‚เช•เซเชšเชฟเชค เช•เชฐเชตเซเช‚ เชชเชกเชถเซ‡. เชคเซ‡ เชซเซเชฒเชพเชฏ เชชเชฐ), เช…เชจเซ‡ เชคเซ‡ เชฎเซเชœเชฌ, เชธเชฟเชธเซเชŸเชฎเชจเซ€ เชเช•เช‚เชฆเชฐ เชชเซเชฐเชคเชฟเชญเชพเชต เช˜เชŸเซ‡ เช›เซ‡.

เชฎเชพเชคเซเชฐ เชฎเชœเชพเช• เช•เชฐเซเช‚ เช›เซเช‚, เชชเชฃ เชนเซเช‚ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เชธเชฎเชœเซเช‚ เช›เซเช‚ เช•เซ‡ เชฎเซ‡เช‚ เช•เซ‹เชˆ เช–เซเชฒเชพเชธเซ‹ เช•เชฐเซเชฏเซ‹ เชจเชฅเซ€. เช‰เชชเชฐ เชœเซ‡ เชฒเช–เซเชฏเซเช‚ เช›เซ‡ เชคเซ‡ เชซเช•เซเชค เชเช• เชจเชฟเชฆเชฐเซเชถเชจ เช›เซ‡ เช•เซ‡ เชคเชฎเซ‡ เชฌเซ‡เช•เช…เชช เชฒเซ‡เชตเชพ เชฎเชพเชŸเซ‡ เชถเซเชฐเซ‡เชทเซเช  เชชเชฐเชฟเชฎเชพเชฃเซ‹ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชชเชธเช‚เชฆ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชฏเชพเชฆ เชฐเชพเช–เซ‹ เช•เซ‡ เชคเชฎเซ‡ เชœเซ‡ เช•เชฐเซ‹ เช›เซ‹ เชคเซ‡ เชคเชฎเชพเชฐเชพ เชชเซ‹เชคเชพเชจเชพ เชœเซ‹เช–เชฎเซ‡ เช…เชจเซ‡ เชœเซ‹เช–เชฎเซ‡ เช•เชฐเซ‹ เช›เซ‹. เชคเชฎเชพเชฐเชพ เชฌเซ‡เช•เช…เชชเซเชธ เชคเชชเชพเชธเซ‹ เช…เชจเซ‡ DBCC CHECKDB เชตเชฟเชถเซ‡ เชญเซ‚เชฒเชถเซ‹ เชจเชนเซ€เช‚.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹