åŸ ã£ãŠïŒ åŸ ã£ãŠïŒ 確ãã«ããã㯠SQL Server ããã¯ã¢ããã®çš®é¡ã«é¢ããå¥ã®èšäºã§ã¯ãããŸããã 埩æ§ã¢ãã«ã®éãããè¥å€§åãããã°ã®å¯ŸåŠæ¹æ³ã«ã€ããŠã説æããŸããã
ãããã (ãããã)ããã®èšäºãèªãã åŸã¯ãæšæºçãªæ段ã䜿çšããŠåé€ãããããã¯ã¢ãããææ¥ã®å€ãã€ãŸã 1.5 åã®éãã§åé€ãããããšã確èªã§ããã§ãããã ããã¯ãBACKUP DATABASE ãã©ã¡ãŒã¿ãŒãããå°ãå€ã䜿çšããããã§ãã
æçš¿ã®å 容ãæããã§ãã£ãå Žåãç³ãèš³ãããŸããã ãhabr SQL ãµãŒã㌠ããã¯ã¢ããããšãããã¬ãŒãºã«ã€ã㊠Google ã調ã¹ããã®ããã¹ãŠèªã¿ãŸãããããã©ã¡ãŒã¿ãŒã䜿çšããŠããã¯ã¢ããæéã«äœããã®åœ±é¿ãäžããå¯èœæ§ããããšããäºå®ã«ã€ããŠã®èšå㯠XNUMX ã€ãèŠã€ãããŸããã§ããã
ã¢ã¬ã¯ãµã³ããŒã»ã°ã©ããã§ã³ã³æ°ã®ã³ã¡ã³ãã«çŽã¡ã«æ³šç®ããŠããã ããŸãïŒ
æ¬çªç°å¢ã§ã¯ãBUFFERCOUNTãBLOCKSIZEãMAXTRANSFERSIZE ãã©ã¡ãŒã¿ã決ããŠå€æŽããªãã§ãã ããã ãã®ãããªèšäºãæžãããã ãã«äœãããŠããŸãã å®éã«ãèšæ¶ã®åé¡ã¯ããã«è§£æ±ºãããŸãã
ãã¡ãããæãè³¢ãç¬å çãªã³ã³ãã³ããæçš¿ã§ããã°çŽ æŽãããã®ã§ãããæ®å¿µãªããããã§ã¯ãããŸããã ãã®ãããã¯ã«ç¹åããè±èªãšãã·ã¢èªã®äž¡æ¹ã®èšäº/æçš¿ããããŸã (æ£ç¢ºã«äœãšåŒã¶ã¹ãããã€ãè¿·ã£ãŠããŸã)ã ç§ãèŠã€ãããã®ã®ããã€ãã以äžã«ç€ºããŸãã
ããã§ããŸããå°ãç°¡ç¥åãã BACKUP æ§æãæ·»ä»ããŸãã
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 }
<...>
<âŠ> - ããã¯ãããã«äœãããã£ãããšãæå³ããŸããããããã¯ãšã¯é¢ä¿ããªããªã£ãããåé€ããŸããã
æ®æ®µã©ã®ããã«ããã¯ã¢ãããåã£ãŠããŸãã? äœååãã®èšäºã§ããã¯ã¢ããã®åãæ¹ãã©ã®ããã«ãæããŠãããã®ã§ããããïŒ äžè¬ã«ãããã»ã©å€§ãããªãããŒã¿ããŒã¹ã® XNUMX åéãã®ããã¯ã¢ãããäœæããå¿ èŠãããå Žåã次ã®ãããªãã®ãèªåçã«äœæããŸãã
BACKUP DATABASE smth
TO DISK = 'D:Backupsmth.bak'
WITH STATS = 10, CHECKSUM, COMPRESSION, COPY_ONLY;
--лаЎМП, CHECKSUM Ñ ÐœÐ°Ð¿ÐžÑал ÑПлÑкП ÑÑÐŸÐ±Ñ ÐºÐ°Ð·Ð°ÑÑÑÑ ÑЌМее
ãŸããäžè¬ã«ãããã¯ã¢ããã«é¢ããèšäºã§éåžžèšåããããã¹ãŠã®ãã©ã¡ãŒã¿ã®ãããã 75 ïœ 90% ãããã«ãªã¹ããããŠããŸãã ãŸããINITãSKIPããããŸãã MSDN ã«ã¢ã¯ã»ã¹ããããšããããŸãã? XNUMX ç»é¢çšã®ãªãã·ã§ã³ãããããšããåç¥ã§ãã? ç§ãèŠãŸãã...
ãããããã§ã«ãæ°ã¥ãããšæããŸãããã³ãŒãã®æåã®ãããã¯ã«æ®ã£ãŠãã XNUMX ã€ã®ãã©ã¡ãŒã¿ãŒãBLOCKSIZEãBUFFERCOUNTãããã³ MAXTRANSFERSIZE ã«ã€ããŠããã«èª¬æããŸãã MSDN ããã®èª¬æã¯æ¬¡ã®ãšããã§ãã
ãããã¯ãµã€ãº = { ãããã¯åãã | @ ãããã¯ãµã€ãºå€æ° } - ç©çããã㯠ãµã€ãºããã€ãåäœã§ç€ºããŸãã ãµããŒãããããµã€ãºã¯ã512ã1024ã2048ã4096ã8192ã16ã384ãããã³ 32 ãã€ã (768 KB) ã§ãã ããã©ã«ãå€ã¯ãããŒã ããã€ã¹ã®å Žå㯠65ããã®ä»ã®ããã€ã¹ã®å Žå㯠536 ã§ãã BACKUP ã¹ããŒãã¡ã³ãã«ãã£ãŠããã€ã¹ã«é©åãªããã㯠ãµã€ãºãèªåçã«éžæããããããéåžžããã®ãã©ã¡ãŒã¿ãŒã¯å¿ èŠãããŸããã ããã㯠ãµã€ãºãèšå®ãããšãèªåããã㯠ãµã€ãºéžæãæ瀺çã«ãªãŒããŒã©ã€ããããŸãã
ãããã¡ã«ãŠã³ã = { ãããã¡æ° | @ ãããã¡ã«ãŠã³ãå€æ° } - ããã¯ã¢ããæäœã«äœ¿çšããã I/O ãããã¡ã®ç·æ°ãå®çŸ©ããŸãã ä»»æã®æ£ã®æŽæ°å€ãæå®ã§ããŸããããããã¡ãŒã®æ°ãå€ããšãSqlservr.exe ããã»ã¹ã®ä»®æ³ã¢ãã¬ã¹ç©ºéãéå°ã«ãªããã¡ã¢ãªäžè¶³ãšã©ãŒãçºçããå¯èœæ§ããããŸãã
ãããã¡ãŒã«ãã£ãŠäœ¿çšãããã¹ããŒã¹ã®åèšéã¯ã次ã®åŒã§æ±ºå®ãããŸãã
BUFFERCOUNT * MAXTRANSFERSIZE
.
æ倧転éãµã€ãº = { æ倧転éãµã€ãº | @ maxtransfersize_variable SQL Server ãšããã¯ã¢ãã ã»ãã ã¡ãã£ã¢éã§äº€æããæ倧ããŒã¿ ãã±ãã ãµã€ãºããã€ãåäœã§æå®ããŸãã 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
);
ã¹ã¯ãªããã®åçã¯åçŽã§ãããã¹ããããã«ãŒãã®ããããã XNUMX ã€ã®ãã©ã¡ãŒã¿ãŒã®å€ãå€æŽãããããã®ãã©ã¡ãŒã¿ãŒã 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 ã«æžã蟌ãã§ãã ããã ããã§ã¯ãBACKUP DATABASE ã«èšå®ãããã©ã¡ãŒã¿ã«ã€ããŠã®ã¿èª¬æããŸãã
BLOCKSIZE ã«ã€ããŠã¯ããéãããããå€ã®ãªã¹ãããããBLOCKSIZE < 4KB ã§ã¯ããã¯ã¢ãããå®è¡ããŸããã§ããã MAXTRANSFERSIZE 64KB ãã 64MB ãŸã§ã® 4KB ã®åæ°ã®ä»»æã®æ°ã ç§ã®ã·ã¹ãã ã®ããã©ã«ã㯠1024KB ã§ãããç§ã¯ 512 - 1024 - 2048 - 4096 ããšããŸããã
BUFFERCOUNT ã®å Žåã¯ããã«å°é£ã§ãããä»»æã®æ£ã®æ°ãæå®ã§ããŸããããªã³ã¯ã«ã¯æ¬¡ã®ããã«æžãããŠããŸãã
ã¡ãã»ãŒãž 3013ãã¬ãã« 16ãç¶æ 1ãè¡ 7 BACKUP DATABASE ãç°åžžçµäºããŠããŸãã
ã¡ãã»ãŒãž 701ãã¬ãã« 17ãç¶æ 123ãè¡ 7 ãã®ã¯ãšãªãå®è¡ããã«ã¯ããªãœãŒã¹ ããŒã«ãããã©ã«ããã«ã·ã¹ãã ã¡ã¢ãªãäžè¶³ããŠããŸãã
æ¯èŒã®ããã«ãæåã«ãã©ã¡ãŒã¿ããŸã£ããæå®ããã«ããã¯ã¢ãããå®è¡ããçµæã瀺ããŸãã
BACKUP DATABASE [bt]
TO DISK = 'D:SQLServerbackupbt.bak'
WITH COMPRESSION;
ããŠãããã¯ã¢ãããšããã¯ã¢ãã:
ãã¡ã€ã« 1070072 ã®ããŒã¿ããŒã¹ 'bt'ããã¡ã€ã« 'bt' ã«å¯Ÿã㊠1 ããŒãžãåŠçããŸããã
ãã¡ã€ã« 2 ã®ããŒã¿ããŒã¹ãbtãããã¡ã€ã«ãbt_logãã® 1 ããŒãžãåŠçããŸããã
BACKUP DATABASE ã¯ã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;
泚æãéåžžã«éèŠãªãç¥ããã§ã
ãããã®å€ã®ç¯å²å ã®ãã©ã¡ãŒã¿ãšããã¯ã¢ããé床ã®é¢ä¿ã¯ã©ã³ãã ã§ããããã¿ãŒã³ã¯ãªããšèªä¿¡ãæã£ãŠèšããŸãã ããããçµã¿èŸŒã¿ãã©ã¡ãŒã¿ããé¢ããããšã¯æããã«çµæã«è¯ã圱é¿ãäžããŸããã
ãããã®ã æšæºã® BACKUP ãã©ã¡ãŒã¿ã管çããã ãã§ãããã¯ã¢ããã®åé€æé㯠2 åã«ãªããæå㯠26 ç§ããã£ãŠããã®ã«å¯Ÿãã53 ç§ã«ãªããŸããã æªããªãã§ãããïŒ ãããã修埩ã§äœãèµ·ããããèŠãå¿ èŠããããŸãã å埩ãŸã§ã« 4 åã®æéãããã£ããã©ããªãã§ãããã?
ãŸããããã©ã«ãèšå®ã§ããã¯ã¢ããã埩å ããã®ã«ãããæéã枬å®ããŠã¿ãŸãããã
RESTORE DATABASE [bt]
FROM DISK = 'D:SQLServerbackupbt.bak'
WITH REPLACE, RECOVERY;
ãŸããããªãèªèº«ããæ¹æ³ã¯ããã亀æã¯äº€æã§ã¯ãªããå埩ã¯å埩ã§ã¯ãªãããšãç¥ã£ãŠããŸãã ãããŠç§ã¯æ¬¡ã®ããã«ããŸã:
ãã¡ã€ã« 1070072 ã®ããŒã¿ããŒã¹ 'bt'ããã¡ã€ã« 'bt' ã«å¯Ÿã㊠1 ããŒãžãåŠçããŸããã
ãã¡ã€ã« 2 ã®ããŒã¿ããŒã¹ãbtãããã¡ã€ã«ãbt_logãã® 1 ããŒãžãåŠçããŸããã
RESTORE DATABASE 㯠1070074 ç§ (40.752 MB/ç§) 㧠205.141 ããŒãžãæ£åžžã«åŠçããŸããã
次ã«ãBLOCKSIZEãBUFFERCOUNTãMAXTRANSFERSIZE ãå€æŽããŠååŸããããã¯ã¢ããã埩å ããŠã¿ãŸãã
BLOCKSIZE = 16384, BUFFERCOUNT = 224, MAXTRANSFERSIZE = 4194304
RESTORE DATABASE 㯠1070074 ç§ (32.283 MB/ç§) 㧠258.958 ããŒãžãæ£åžžã«åŠçããŸããã
BLOCKSIZE = 4096, BUFFERCOUNT = 448, MAXTRANSFERSIZE = 4194304
RESTORE DATABASE 㯠1070074 ç§ (32.682 MB/ç§) 㧠255.796 ããŒãžãæ£åžžã«åŠçããŸããã
BLOCKSIZE = 16384, BUFFERCOUNT = 448, MAXTRANSFERSIZE = 2097152
RESTORE DATABASE 㯠1070074 ç§ (32.091 MB/ç§) 㧠260.507 ããŒãžãæ£åžžã«åŠçããŸããã
BLOCKSIZE = 4096, BUFFERCOUNT = 56, MAXTRANSFERSIZE = 4194304
RESTORE DATABASE 㯠1070074 ç§ (32.401 MB/ç§) 㧠258.015 ããŒãžãæ£åžžã«åŠçããŸããã
RESTORE DATABASE ã¹ããŒãã¡ã³ãã¯ãªã«ããªäžã«å€æŽãããŸããããããã®ãã©ã¡ãŒã¿ãŒã¯ã¹ããŒãã¡ã³ãå ã§æå®ããããSQL Server èªäœãããã¯ã¢ãããã決å®ããŸãã ãããŠãå埩ãããšããŠããã»ãŒ 20% éããªããšããå©ç¹ãããããšã¯æããã§ã (æ£çŽã«èšããšãç§ã¯ãªã«ããªã«ããŸãæéãããããããã€ãã®ãæéãããã¯ã¢ãããå®è¡ããå£åããªãããšã確èªããŸããã).
念ã®ããããããã¯ãã¹ãŠã®äººã«ãšã£ãŠæé©ãªãã©ã¡ãŒã¿ãŒã§ã¯ãªãããšãæ確ã«ããŠãããŸãã ãã¹ãããããšã§ã®ã¿ãèªåã«ãšã£ãŠæé©ãªãã©ã¡ãŒã¿ãååŸã§ããŸãã ç§ã¯ãã®ãããªçµæãåŸãŸããããããªãã¯ç°ãªãçµæãåŸãã§ãããã ããããããã¯ã¢ãããã調æŽãããããšã§ãå®éã«ããã¯ã¢ããã®äœæãšå±éãããéãè¡ãããšãã§ããããšãããããŸããã
ãŸããã䜿ãã®ã·ã¹ãã ã«ç¹æã®ãã¥ã¢ã³ã¹ãããå¯èœæ§ããããããããã¥ã¡ã³ãããã¹ãŠèªãããšã匷ããå§ãããŸãã
ããã¯ã¢ããã«ã€ããŠæžãå§ããã®ã§ãããã«ãã XNUMX ã€ã®ãæé©åãã«ã€ããŠæžããããšæããŸããããã¯ãã©ã¡ãŒã¿ã®ããã¥ãŒãã³ã°ããããäžè¬çã§ã (ç§ãç解ããŠããéããããã¯å°ãªããšãããã€ãã®ããã¯ã¢ãã ãŠãŒãã£ãªãã£ã§ããããããã©ã¡ãŒã¿ãšãšãã«äœ¿çšãããŸã)åè¿°ïŒãããã¬ã§ããŸã 説æãããŠããŸããã
ããã¥ã¡ã³ãã® XNUMX è¡ç®ãBACKUP DATABASE ã®ããäžãèŠããšã次ã®ããã«è¡šç€ºãããŸãã
TO <backup_device> [ ,...n ]
è€æ°ã®backup_devicesãæå®ãããšã©ããªããšæããŸãã? æ§æã§ã¯ãããå¯èœã§ãã ãããŠãéåžžã«èå³æ·±ãããšãèµ·ãããŸããããã¯ã¢ããã¯åã«è€æ°ã®ããã€ã¹ã«ãåæ£ããããŸãã ãããã®ã åãããã€ã¹ãã¯åå¥ã«åœ¹ã«ç«ããªããªããXNUMX ã€ã倱ãããããã¯ã¢ããå šäœã倱ãããŸãã ãããããã®ãããªæ±ãã¯ããã¯ã¢ããé床ã«ã©ã®ãããªåœ±é¿ãäžããã®ã§ãããã?
åããã©ã«ããŒå ã«äžŠã¹ãŠé 眮ãããŠãã XNUMX ã€ã®ãããã€ã¹ãã§ããã¯ã¢ãããäœæããŠã¿ãŸãããã
BACKUP DATABASE [bt]
TO
DISK = 'D:SQLServerbackupbt1.bak',
DISK = 'D:SQLServerbackupbt2.bak'
WITH COMPRESSION;
äžçã®ç¶èŠªã®çããããªããã®ãããªããšãè¡ãããã®ã§ããããïŒ
ãã¡ã€ã« 1070072 ã®ããŒã¿ããŒã¹ 'bt'ããã¡ã€ã« 'bt' ã«å¯Ÿã㊠1 ããŒãžãåŠçããŸããã
ããŒã¿ããŒã¹ãbtãããã¡ã€ã«ãbtãã® 2 ããŒãžãåŠçããŸãããã¡ã€ã« 1 ã«ãã°ãèšé²ããŸãã
BACKUP DATABASE ã¯ã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;
BACKUP DATABASE ã¯ã1070074 ç§ (34.234 MB/ç§) 㧠244.200 ããŒãžãæ£åžžã«åŠçããŸããã
ããã¯ã¢ããã 35 ã€ã®ãã£ã¹ã¯äžã® 4 ã€ã®ãã¡ã€ã«ã«äžåºŠã«æžã蟌ãŸãããããåèšã§ãããã¯ã¢ãããäœæããæéã®çŽ 4% ã®å©çãåŸãããŸãã ãã£ãšå€§ããªæ°ããã§ãã¯ããŸãã - ç§ã®ã©ãããããã§ã¯å©çã¯ãããŸãããæé©ã«ã¯XNUMXã€ã®ããã€ã¹ã§ãã ããªãã«ãšã£ãŠã¯ãããããŸããã確èªããå¿ èŠããããŸãã ãšããã§ããããã®ããã€ã¹ããæã¡ã®å Žåããããã¯å®éã«ã¯ç°ãªããã£ã¹ã¯ã§ããããã§ãšãããããŸãããã®å¹æã¯ããã«å€§ãããªãã¯ãã§ãã
ã§ã¯ããã®å¹žããåãæ»ãæ¹æ³ã«ã€ããŠã話ããŸãããã ãããè¡ãã«ã¯ãå埩ã³ãã³ããå€æŽãããã¹ãŠã®ããã€ã¹ããªã¹ãããå¿ èŠããããŸãã
RESTORE DATABASE [bt]
FROM
DISK = 'D:SQLServerbackupbt1.bak',
DISK = 'D:SQLServerbackupbt2.bak',
DISK = 'D:SQLServerbackupbt3.bak',
DISK = 'D:SQLServerbackupbt4.bak'
WITH REPLACE, RECOVERY;
RESTORE DATABASE 㯠1070074 ç§ (38.027 MB/ç§) 㧠219.842 ããŒãžãæ£åžžã«åŠçããŸããã
å°ãéãã§ãããè¿ããšããã§ã¯ãããŸãããéèŠã§ã¯ãããŸããã äžè¬ã«ãããã¯ã¢ããã¯ããéãåé€ãããŸãããåãæ¹æ³ã§åŸ©å ãããŸããæåããŸããã? ç§ã«ãšã£ãŠãããã¯ããªãã®æåã§ãã ãã éèŠãã ããç¹°ãè¿ããŸãããããããªãã ãããã®ãã¡ã€ã«ã®å°ãªããšã XNUMX ã€ã倱ããšãããã¯ã¢ããå šäœã倱ãããŸã.
ãã¬ãŒã¹ ãã©ã° 3213 ããã³ 3605 ã䜿çšããŠè¡šç€ºãããããã¯ã¢ããæ å ±ããã°ã§ç¢ºèªãããšãè€æ°ã®ããã€ã¹ã«ããã¯ã¢ãããããšãå°ãªããšã BUFFERCOUNT ã®æ°ãå¢å ããããšãããããŸãã ãããããBUFFERCOUNTãBLOCKSIZEãMAXTRANSFERSIZE ã«å¯ŸããŠããæé©ãªãã©ã¡ãŒã¿ãéžæããããšãã§ããŸãããããã«ã¯æåããŸããã§ããããŸãããã¡ã€ã«æ°ãå€ããŠãã®ãããªãã¹ããå床å®è¡ããã®ãé¢åã§ããã ãããŠæ®å¿µãªã®ãè»èŒªã§ãã ãã®ãããªãã¹ããèªå® ã§å®æœãããå Žåã¯ãã¹ã¯ãªãããäœãçŽãã®ã¯é£ãããããŸããã
æåŸã«äŸ¡æ Œã«ã€ããŠã話ããŸãã ãŠãŒã¶ãŒã®äœæ¥ãšäžŠè¡ããŠããã¯ã¢ãããåé€ãããå Žåã¯ãéåžžã«è²¬ä»»ããã¢ãããŒãã§ãã¹ããè¡ãå¿ èŠããããŸããããã¯ã¢ããã®åé€ãéããšããã£ã¹ã¯ãžã®è² æ ã倧ãããªããããã»ããµã®è² è·ãå¢å ããããã§ã (ããã§ãå§çž®ããå¿ èŠããããŸã)ããªã³ã¶ãã©ã€)ãããã«å¿ããŠã·ã¹ãã å šäœã®å¿çæ§ãäœäžããŸãã
åè«ã§ãããç§ãäœãæŽé²ããŠããªãããšã¯ååã«ç解ããŠããŸãã äžèšã®å 容ã¯ãããã¯ã¢ãããäœæããããã®æé©ãªãã©ã¡ãŒã¿ãéžæããæ¹æ³ã瀺ãããã®ã«éããŸããã
ããªããè¡ãããšã¯ãã¹ãŠãããªãèªèº«ã®å±éºãšãªã¹ã¯ã®äžã§è¡ãããããšãå¿ããªãã§ãã ããã ããã¯ã¢ããã確èªããDBCC CHECKDB ãå¿ããªãã§ãã ããã
åºæïŒ habr.com