ááááąá ááááąá áážááşááŤáááşá á¤áááşáážáŹ SQL Server áĄáááşáá°á¸ááźááşá¸áĄááťááŻá¸áĄá áŹá¸ááťáŹá¸áĄááźáąáŹááşá¸ áĄááźáŹá¸ááąáŹááşá¸ááŤá¸áááŻááşááŤá ááźááşáááşááá°ááźááşá¸ááąáŹáşáááşááťáŹá¸ááźáŹá¸ ááźáŹá¸ááŹá¸ááťááşááťáŹá¸áážááˇáş ááźáŽá¸áá˝áŹá¸ááąááąáŹ áážááşáááşá¸ááᯠáááşáááŻáˇáááŻááşáá˝ááşááááşáááŻáááş ááťá˝ááşáŻááş áááźáąáŹááŤá
(ááźá áşááąáŹááşá¸ááźá áşáááŻááşáááş) á¤áááŻáˇá áşáááŻáááşááźáŽá¸ááąáŹááşá ááŻáśáážááşáááşá¸áááşá¸ááťáŹá¸áááŻáĄááŻáśá¸ááźáŻá áááˇáşááśáážáááşáážáŹá¸áááŻááşááąáŹáĄáááşáá°á¸áá°áážáŻááᯠááááşááźááşááá˝ááş áááşáážáŹá¸áá áşáááşá ááąáŹááşá¸ááźáŽá 1.5 ááááŻáááŻááźááşáááşááźáąáŹááşá¸ ááąááťáŹá áąáááşááźá áşáááşá áááşáááş áĄáááşá¸áááşááąáŹ BACKUP DATABASE ááąáŹááşááťáŹá¸ááᯠáááŻáááŻáĄááŻáśá¸ááźáŻááźááşá¸ááźáąáŹááˇáşáᏠááźá áşáááşá
áááŻáˇá áşáá˛áˇ áĄááźáąáŹááşá¸áĄááŹá áááşá¸áĄáá˝ááş áááşáážáŹá¸ááąáááşáááŻáááş ááąáŹááşá¸áááşááŤáááşá âhabr sql server backupâ áá°ááąáŹ á ááŹá¸á áŻáĄáá˝ááş Google áážááážááááˇáşáĄááŹáĄáŹá¸ááŻáśá¸ááᯠááťá˝ááşááąáŹáşáááşáá˛áˇááźáŽá¸ ááąáŹááşá¸ááŤá¸áá áşááŻááşáá˝ááş ááŤááŹááŽááŹááťáŹá¸ááᯠáĄááŻáśá¸ááźáŻá backup time áááş áá áşáááşá¸áááşá¸ááźááˇáş áá˝ážááşá¸áááŻá¸áááŻááşáááşáá°ááąáŹáĄááťááşááᯠááąáŹááşá¸ááŤá¸áá áşááŻáááşá¸áá˝ááş ááá˝áąáˇáážááááŤá
Alexander Gladchenko ááážááşááťááşáááŻááŤááťááşááťááşá¸áĄáŹááŻáśá
ááŻááşááŤááááˇáşáááş (
ááŻááşááŻááşáážáŻáá˝ááş BUFFERCOUNTá BLOCKSIZEá MAXTRANSFERSIZE ááąáŹááşááťáŹá¸ááᯠáááşááąáŹáˇááž áááźáąáŹááşá¸ááŤá áááŻáááŻáˇááąáŹ ááąáŹááşá¸ááŤá¸ááťáŹá¸ááᯠááąá¸ááŹá¸áááşáᏠáááşááŽá¸ááŹá¸ááźááşá¸ ááźá áşáááşá áááşáá˝áąáˇáá˝ááş áááşáááş áážááşááŹááşááźáżááŹááťáŹá¸ááᯠáĄááťáááşáááŻáĄáá˝ááşá¸ áááşáážáŹá¸áááŻááşáááşááźá áşáááşá
ááŹááşáĄááźáąáŹáşáĄááźááşááŻáśá¸áážááˇáş ááŽá¸áááˇáşáĄááźáąáŹááşá¸áĄááŹááᯠáááŻáˇá
áşáááşáááźááşá¸áážáŹ áĄáąá¸ááźááąááááˇáşáááşá áááŻáˇááąáŹáş ááśáááąáŹááşá¸á
á˝áŹááźááˇáşá á¤áĄááŹáááş áááŻááşááŤá áĄááşášáááááşááŹááŹáážááˇáş ááŻáážáŹá¸ááŹááŹá
ááŹá¸ ááąáŹááşá¸ááŤá¸/áááŻáˇá
áşááťáŹá¸ áážá
áşááŻá
ááŻáśá¸ áážááááş (áá°áááŻáˇááᯠáááşáá˛áˇáááŻáˇ áážááşáááşá
á˝áŹ ááąáŤáşááááşááᯠááťá˝ááşáŻááş áĄááźá˛áááşá¸ áážáŻááşáá˝áąá¸ááąááŤáááş) á¤áĄááźáąáŹááşá¸áĄááŹáĄáá˝ááş áááşáá˝ážááşá¸ááŹá¸áááşá ááŤáá˝áąáááąáŹáˇ ááťá˝ááşááąáŹáşáá˝áąáˇáá˛áˇááá˛áˇ áĄááťááşáá˝áąáá˛á áá
áşááťááŻáˇááŤá
áááŻáˇááźáąáŹááˇáşá áĄá
ááźáŻáááşá ááťá˝ááşáŻááşáááş áĄáááşá¸áááşááźáŻááşááťááŹá¸ááąáŹ BACKUP syntax ááᯠáá°á¸áá˝á˛áááşááźááŤáááşá
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 Ń Đ˝Đ°ĐżĐ¸ŃĐ°Đť ŃОНŃкО ŃŃĐžĐąŃ ĐşĐ°ĐˇĐ°ŃŃŃŃ ŃПноо
ááąááŻááťáĄáŹá¸ááźááˇáşá áĄáááşáá°á¸ááźááşá¸áááŻááşáᏠááąáŹááşá¸ááŤá¸ááťáŹá¸áá˝ááş áĄááťáŹá¸áĄáŹá¸ááźááˇáş ááąáŹáşááźááŹá¸ááąáŹ áááˇáşáááşááąáŹááşáĄáŹá¸ááŻáśá¸á áá -áá ááŹáááŻááşáážáŻááşá¸áááş á¤ááąááŹáá˝ááş ááąáŹáşááźááŹá¸ááŤáááşá ááąáŹááşá¸ááźáŽá INITá SKIP áááşá¸áážááááşá MSDN ááᯠáááş áá˝áŹá¸ááąáŹááşáá°á¸ááŤáááŹá¸á áááşááŹá¸ááźááşáá áşááŻáážááˇáş áá áşááźááşá¸áĄáá˝ááş áá˝áąá¸ááťááşá ááŹááťáŹá¸ áážááááşááᯠáááşááźááşáá°á¸ááŤáááŹá¸á ááŤáááşá¸ááźááşáááş...
BLOCKSIZEá BUFFERCOUNT áážááˇáş MAXTRANSFERSIZE ááŻááşáááááááąáŹááşáá˝ááşááťááşáážáááąááąáŹ parameters ááŻáśá¸ááŻáĄááźáąáŹááşá¸ áááşáááşáá˝áąá¸áá˝áąá¸áááşááᯠáááşáááąáŹááąáŤááşááŹá¸ááźáŽá¸ááźá áşáááşá á¤áááşáážáŹ MSDN ááž áááşá¸áááŻáˇá áážááşá¸áááşá¸ááťááşááźá áşáááşá
BLOCKSIZE = { ááŻáśá¸áĄáá˝ááşáĄá áŹá¸ | @ blocksize_variable } - áááŻááşááźááˇáş ááŻááşáááŻááşá¸áááŻááşáᏠááááşáááŻáˇáĄáá˝ááşáĄá áŹá¸ááᯠáá˝ážááşááźáááşá ááśáˇáááŻá¸ááąá¸ááŹá¸ááąáŹ áĄáá˝ááşáĄá áŹá¸ááťáŹá¸áážáŹ 512á 1024á 2048á 4096á 8192á 16á 384 áážááˇáş 32 bytes (768 KB) ááźá áşáááşá áá°áááşá¸áááşáááŻá¸áážáŹ ááááşá ááşááťáŹá¸áĄáá˝ááş 65 ááźá áşááźáŽá¸ áĄááźáŹá¸á ááşáá ášá ááşá¸ááťáŹá¸áĄáá˝ááş 536 ááźá áşáááşá ááŻáśáážááşáĄáŹá¸ááźááˇáş BACKUP ááŻááşááźááşááťááşáááş á ááşáá ášá ááşá¸áĄáá˝ááş áááˇáşááťáąáŹáşááąáŹ áááąáŹááşáĄáá˝ááşáĄá áŹá¸ááᯠáĄáááŻáĄááťáąáŹááşáá˝áąá¸ááťááşááąá¸ááąáŹááźáąáŹááˇáş ááŻáśáážááşáĄáŹá¸ááźááˇáş á¤áááˇáşáááşááťááşáááş ááááŻáĄááşááŤá áááąáŹááşáĄáá˝ááşáĄá áŹá¸ááᯠáááşáážááşááźááşá¸áááş áĄáááŻáĄááťáąáŹááşááááşáááŻáˇáááˇáşáĄáá˝ááşáĄá áŹá¸áá˝áąá¸ááťááşáážáŻááᯠááźááşááŹá¸á á˝áŹ áá˝ážááşá¸áááŻá¸ááŹá¸áááşá
BUFFERCOUNT = { ááźáŹá¸ááśáĄááąáĄáá˝ááş | @ buffercount_variable } - áĄáááşááááşá¸ááźááşá¸ááŻááşáááşá¸áĄáá˝ááş áĄááŻáśá¸ááźáŻáááˇáş I/O ááźáŹá¸ááśáĄááąáĄáá˝ááş á áŻá áŻááąáŤááşá¸ááᯠáááşáážááşáááşá áĄááźáŻáááąáŹááąáŹááşááąáŹ ááááşá¸ááźááˇáşáááşáááŻá¸ááᯠáááşáááşáážááşáááŻááşááąáŹáşáááşá¸ Sqlservr.exe ááŻááşáááşá¸á ááşáá˝ááş virtual address space ááťáŹá¸áá˝ááşááąááźááşá¸ááźáąáŹááˇáş buffers áĄááťáŹá¸áĄááźáŹá¸áááş áááşáááŻááŽááźááşááá˝ááş áĄáážáŹá¸áĄáá˝ááşá¸ááźá áşá áąáááŻááşáááşá
ááźáŹá¸ááśááťáŹá¸áĄááŻáśá¸ááźáŻáááˇáşááąáᏠá áŻá áŻááąáŤááşá¸áááŹáááᯠáĄáąáŹááşááŤááąáŹáşááźá°ááŹááźááˇáş ááŻáśá¸ááźááşáááş-
BUFFERCOUNT * MAXTRANSFERSIZE
.
áĄááźááˇáşááŻáśá¸áá˝ážá˛ááźáąáŹááşá¸áážáŻ = { áĄááźááˇáşááŻáśá¸áá˝ážá˛ááźáąáŹááşá¸áážáŻáĄáá˝ááşáĄá áŹá¸ | @ maxtransfersize_variable } áááş SQL Server áážááˇáş backup set media áĄááźáŹá¸ááážááşáááşáĄáá˝ááş áĄááźáŽá¸ááŻáśá¸ááąááŹáááşááąáˇááťáşáĄáá˝ááşáĄá áŹá¸ááᯠbytes ááźááˇáşáááşáážááşáááşá 65 bytes (536 KB) ááž 64 bytes (4 MB) áĄáá ááśáˇáááŻá¸ááŹá¸áááşá
ááŤáááąáŹáˇ ááŽááŹáááŻáĄáááşáááşááźáŽá¸ááźáŽá ááŤááąáááˇáş ááŻááşááŻááşá á˝ááşá¸áĄáŹá¸áĄááąáŤáş áááşááąáŹááşáá áááşááąáŹááşáážáŻáážááááŻááşáááşáááŻááŹáááŻááąáŹáˇ áá áşááŤááž áááźáŻáśáá°á¸ááŤáá°á¸á áááŻáˇáĄááźááşá ááááŹáááşáážáŹá¸á á˝áŹá ááŤáááş "áá˝ááşááŹááźááşá¸" áĄááťááŻá¸áĄá áŹá¸áááŻááźáŻááŻááşáááşáááŻáĄááşááźáŽá¸áááŻáĄááťáááşáá˝ááşáááşáá°áááŻáˇááŻááşááąááąáŹáĄááŹáááŻáĄáááĄááťááŹá¸ááááşááźáąáŹááşá¸áááşááśááŤá buffered I/O áážááˇáş hard drive áážááˇáşáĄááŻááşááŻááşááźááşá¸áĄááźáąáŹááşá¸áááŻáááŻáááşáážáŻáááşáááŻááąáŹááşá¸áááŻááŤáááşá áá áşááąáˇááťáááş ááŤáááŻááŻááşáááşá ááŤááąáááˇáş áĄááŻáĄááťáááşáážáŹ ááŽáááşáááŻá¸áá˝áąá áĄáááşááááşá¸áá°áá˛áˇáĄááźááşáážáŻááşá¸ááᯠáááşáááŻáááşááąáŹááşáážáŻáážááá˛áááŻáᏠá á áşááąá¸áááˇáş script áá áşááŻááąá¸áááŻááşááŤááźáŽá
áĄáá˝ááşáĄá áŹá¸ 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
);
script áááááŹááááşáááŻá¸áážááşá¸áááş - ááąáŹááşáá áşááŻá áŽááááşáááŻá¸áááŻááźáąáŹááşá¸áá˛áááˇáşáá áşááŻá áŽáááş nested loopsá á¤ááąáŹááşááťáŹá¸ááᯠBACKUP command áá˛áááŻáˇáááˇáşááŤá msdb.dbo.backupset áážááááŻááşá¸ááźááˇáşááąáŹááşááŻáśá¸áážááşáááşá¸áááŻááááşá¸áááşá¸ááŤá áĄáááşáááŻááşáááŻááťááşáááşáážááˇáşááąáŹááşáááşáááşááŻááşááŤá . áĄáááşááááşá¸áááşá¸áážáŻááŻááşááąáŹááşáážáŻááąááŹááᯠáĄáááşááááşá¸áááşá¸áážáŻáážáá°áá˝áŹá¸ááąáŹááźáąáŹááˇáş ááááťáážáŻáĄáááşá¸áááşááťáąáŹááşááŻáśá¸áá˝áŹá¸áááş (á áášáááˇáşáĄáááŻááşá¸áĄá ááťáŹá¸ááážáááŤ)á áááŻáˇááąáŹáş áááşá¸ááᯠááťá˝ááşáŻááşáááŻáˇáááşáááşáážááşáááşááąááŤáááşá
áááášáá°ááťáŹá¸áááŻááťááşáááş ááááŚá¸á á˝áŹ áááşáááş xp_cmdshell áááŻáá˝ááˇáşááŹá¸áááş áááŻáĄááşáááş (áááŻáˇááąáŹááş áááşááááŻáĄááşááŤá áááşá¸ááᯠdisable ááŻááşáááş áááąáˇááŤáážááˇáş)á
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 áá˝ááşáááˇáşáá˝ááşá¸ááŹá¸ááąáŹ parameters ááťáŹá¸áĄááźáąáŹááşá¸ááŹááźáąáŹááźááŤáááşá
BLOCKSIZE áĄáá˝ááş ááťá˝ááşáŻááşáááŻáˇáá˝ááş "ááááşááŹá¸áááş" áááşáááŻá¸ááťáŹá¸á áŹáááşá¸áážáááźáŽá¸ BLOCKSIZE < 4KB ááźááˇáş áĄáááşáá°á¸áá°ááźááşá¸ áááŻááşááąáŹááşáá˛áˇááŤá 64KB ááž 64MB áĄáá 4KB ááž 1024KB áĄáá ááťáŹá¸ááźáŹá¸ááąáŹ áááşáááˇáşááśááŤááşáááŻáááᯠMAXTRANSFERSIZEá ááťá˝ááşáŻááşáá áá áşáážá ááŻáśááąáážáŹ 512KBá ááťá˝ááşáŻááşáááş 1024 - 2048 - 4096 - XNUMX ááźá áşáááşá
BUFFERCOUNT áážááˇáş áááŻáááşáá˛áááş - áááşá¸áááş áĄááźáŻáááąáŹááąáŹááşáááˇáş ááśááŤááş ááźá
áşáááŻááşááąáŹáşáááşá¸ áááˇáşááşá áááŻáááşá
Msg 3013á áĄáááˇáş 16á ááźááşáááş 1á áááŻááşá¸ 7 áĄáááşááááşá¸áááşá¸áážáŻááąááŹááąáˇá áşáááş ááŻáśáážááşáááŻááşá á˝áŹ áááşáááˇáşááąáááşá
Msg 701á Level 17á State 123á Line 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;
áĄáŹááŻáśá
á°á¸á
ááŻááşáážáŻáááą áĄáá˝ááşáĄááąá¸ááźáŽá¸áá˛áˇ áážááşááťááşáá
áşááŻááŤá
á¤áááşáááŻá¸ááťáŹá¸á áĄáá˝áŹáĄááąá¸áĄáá˝ááşá¸ ááŤááŹááŽááŹááťáŹá¸áážááˇáş áááášáá°áĄááźááşáážáŻááşá¸ááźáŹá¸ áááşááśááąá¸áááş ááťáááşá¸ááźá áşááźáŽá¸ ááŻáśá áśááážááᯠááťá˝ááşáŻááşáááŻáˇ ááŻáśááźááşá áááşááťá á˝áŹ ááźáąáŹáááŻááşááŤáááşá áááŻáˇááąáŹáş built-in áááˇáşáááşááťááşááťáŹá¸áážááąá¸ááŹáááŻáˇáá˝ážáąáˇááźááşá¸áááşááááşáĄááąáŤáşááąáŹááşá¸áá˝ááşááąáŹáĄááťááŻá¸áááşááąáŹááşáážáŻáážááááşá
áĄá˛ááŤáá˝áąá Standard BACKUP ááąáŹááşááťáŹá¸ááᯠá áŽááśáááˇáşáá˝á˛ááźááşá¸ááźááˇáşáᏠáĄáááşááááşá¸ááźááşá¸ááᯠáááşáážáŹá¸áááˇáşáĄááťáááşá 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 MB/sec) áĄáá˝ááşá¸ áĄáąáŹááşááźááşá á˝áŹ ááŻááşááąáŹááşáá˛áˇáááşá
ááᯠááźáąáŹááşá¸áá˛ááŹá¸ááąáŹ BLOCKSIZEá BUFFERCOUNT áážááˇáş MAXTRANSFERSIZE áááŻáˇááźááˇáş ááááşá¸áááşá¸ááŹá¸ááąáŹ áĄáááşááťáŹá¸ááᯠááźááşáááşááá°áááş ááźááŻá¸á áŹá¸ááŤáááşá
BLOCKSIZE = 16384, BUFFERCOUNT = 224, MAXTRANSFERSIZE = 4194304
ááąááŹááąáˇá áşááᯠááźááşáááşááá°áááş á áŹááťááşáážáŹ 1070074 ááᯠ32.283 á áášáááˇáş (258.958 MB/sec) áĄáá˝ááşá¸ áĄáąáŹááşááźááşá á˝áŹ ááŻááşááąáŹááşáá˛áˇáááşá
BLOCKSIZE = 4096, BUFFERCOUNT = 448, MAXTRANSFERSIZE = 4194304
ááąááŹááąáˇá áşááᯠááźááşáááşááá°áááş á áŹááťááşáážáŹ 1070074 ááᯠ32.682 á áášáááˇáş (255.796 MB/sec) áĄáá˝ááşá¸ áĄáąáŹááşááźááşá á˝áŹ ááŻááşááąáŹááşáá˛áˇáááşá
BLOCKSIZE = 16384, BUFFERCOUNT = 448, MAXTRANSFERSIZE = 2097152
ááąááŹááąáˇá áşááᯠááźááşáááşááá°áááş á áŹááťááşáážáŹ 1070074 ááᯠ32.091 á áášáááˇáş (260.507 MB/sec) áĄáá˝ááşá¸ áĄáąáŹááşááźááşá á˝áŹ ááŻááşááąáŹááşáá˛áˇáááşá
BLOCKSIZE = 4096, BUFFERCOUNT = 56, MAXTRANSFERSIZE = 4194304
ááąááŹááąáˇá áşááᯠááźááşáááşááá°áááş á áŹááťááşáážáŹ 1070074 ááᯠ32.401 á áášáááˇáş (258.015 MB/sec) áĄáá˝ááşá¸ áĄáąáŹááşááźááşá á˝áŹ ááŻááşááąáŹááşáá˛áˇáááşá
ááźááşáááşááá°ááźááşá¸ááąááŹááąáˇá ááŻááşááźááşááťááşáááş ááźááşáááşááá°ááąá ááşáĄáá˝ááşá¸ ááźáąáŹááşá¸áá˛ááźááşá¸ááážáááŤá á¤ááąáŹááşááťáŹá¸ááᯠáááşá¸áá˝ááşáááąáŹáşááźááŹá¸ááŤá SQL Server áááŻááşáááŻááşá áááşá¸áááŻáˇáĄáŹá¸ áĄáááşááááşá¸áááşá¸áážáŻááž ááŻáśá¸ááźááşááąá¸ááŤáááşá ááźááşáááşááŹáááşáá°ááŹáááşááąáŹááş 20% ááŽá¸ááŤá¸ ááźááşááźááşáááşáááş áĄááźááşááááŻááşáááşáááŻáᏠáážááşá¸ááŤáááşááááŻá¸áááŻá¸ááŹá¸ááŹá¸ááźáąáŹáááťážááşá ááťá˝ááşáŻááşááźááşáááşááŹáááşáá°áááşáĄááťáááşááťáŹá¸á á˝áŹáááźáŻááşá¸áá˛á "áĄááźááşááŻáśá¸" áááášáá°ááťáŹá¸á á˝áŹáááŻááźááşááťáąáŹáşááźáŽá¸ áááŻáá˝ááşá¸ááťááşá áŽá¸ááźááşá¸ááážáááźáąáŹááşá¸ááąááťáŹá áąááŤáááşá).
ááá ášá áá áşááŻáĄááąáážááˇáşá á¤áĄááŹááťáŹá¸áááş áá°áááŻááşá¸áĄáá˝ááş áĄáááˇáşááąáŹáşááŻáśá¸ááąáŹ áááˇáşáááşááťááşáĄááťááŻáˇáááŻááşááźáąáŹááşá¸ áážááşá¸ááźááŤáá áąá á ááşá¸áááşááźááşá¸ááźááˇáş áááşáááŻááşáááŻááşáĄáá˝ááş áĄááąáŹááşá¸ááŻáśá¸ áááˇáşáááşááąáŹááşááťáŹá¸áááŻáᏠááááŻááşáááşá ááŽááááşáá˝áąááᯠááŤááá˛áˇáááşá áááşá¸ ááá°ááŽáá˛áˇááááşáá˝áąááᯠáááááˇáşáááşá áááŻáˇááąáŹáş áááˇáşáĄáááşáá°á¸áá°áážáŻááťáŹá¸ááᯠâááťáááşáážáâ áááŻááşáááşááᯠáááşáá˝áąáˇááźááşáááźáŽá¸ áááşá¸áááŻáˇáááş áĄáážááşááááş ááŻáśááąáŹáşáááŻááşááźáŽá¸ áááŻáááŻááźááşáááşá á˝áŹ áĄááŻáśá¸ááźáŻáááŻááşáááşááᯠáááşáá˝áąáˇááźááşááááşá
áááˇáşá áá áşáá˝ááş ááŽá¸ááźáŹá¸áá˝á˛áá˝á˛áážáŻááťáŹá¸áážááááŻááşááąáŹááźáąáŹááˇáş á áŹáá˝ááşá áŹáááşá¸áá áşááŻááŻáśá¸ááᯠáĄááźááˇáşáĄá áŻáśáááşáááşáááşá¸ ááťá˝ááşáŻááşáĄááąá¸áĄáááş áĄááźáśááźáŻáĄááşááŤáááşá
áĄáááşáá°á¸áá°ááźááşá¸áĄááźáąáŹááşá¸ á áááşááąá¸ááŹá¸ááááşá¸áá "ááťáááşáážáááźááşá¸" ááąáŹááşááťáŹá¸áááş áááŻáááŻááŹáá˝ááşááąáŹ "áááŻááąáŹááşá¸áĄáąáŹááşááźáŻááŻááşááźááşá¸" áĄááźáąáŹááşá¸ááᯠááťááşááťááşá¸ááąá¸áááŻááŤáááş (ááťá˝ááşáŻááşááŹá¸áááşáááąáŹááşá áááşá¸ááᯠáĄáááşá¸ááŻáśá¸ áĄáááşááááááŹáĄááťááŻáˇááž áááˇáşáááşááťááşááťáŹá¸áážááˇáşáĄáá° ááźá áşáááŻááşáááş áĄá áąáŹáááŻááşá¸áá˝ááşááąáŹáşááźááŹá¸áááş) áááŻáˇááąáŹáşáááşá¸ááᯠHabre áá˝ááşááąáŹáşááźááźááşá¸ááážáááąá¸ááŤá
á áŹáá˝ááşá áŹáááşá¸áážá ááŻáááá áŹááźáąáŹááşá¸áááŻááźááˇáşááťážááş BACKUP DATABASE áĄáąáŹááşáážáá
TO <backup_device> [ ,...n ]
backup_devices áĄááťáŹá¸áĄááźáŹá¸ááᯠáááşáááşáážááşááŤá áááşáááşáááŻáˇááźá áşááŹáááşáááşááááşá¸á syntax á áá˝ááˇáşááźáŻááŤáááşá áĄáá˝ááşá áááşáááşá áŹá¸á ááŹááąáŹááşá¸áááˇáşáĄááŹáá áşááŻááźá áşááŹááááˇáşáááş - áááášáá°áá°á¸ááźááşá¸áááşá ááşáá ášá ááşá¸ááťáŹá¸á á˝áŹááąáŤáşáá˝ááşáááŻá¸áážááşá¸á á˝áŹ "ááťáśáˇáážáśáˇ" ááááˇáşáááşá áĄá˛ááŤáá˝áąá "á ááşáá ášá ááşá¸" áá áşááŻááťááşá¸á áŽáááş áĄááŻáśá¸ááááşá ááťáąáŹááşááŻáśá¸áá˝áŹá¸áᏠáĄáááşááááşá¸áážáŻáá áşááŻááŻáśá¸ ááŻáśá¸áážáŻáśá¸áá˝áŹá¸áááşááźá áşáááşá áááŻáˇááąáŹáş áááŻáááŻáˇááąáŹ ááááşá¸ááťáśááźááşá¸áááş áĄáááşááááşá¸ááźááşá¸áĄááźááşáážáŻááşá¸ááᯠáááşáááŻáˇáĄááťááŻá¸áááşááąáŹááşáááşáááşá¸á
áá°ááŽááąáŹáááŻááşáá˝á˛áá áşááŻáá˝ááş ááąá¸ááťááşá¸áááşááąááąáŹ âá ááşáá ášá ááşá¸â áážá áşááŻáá˝ááş áĄáááşáá°á¸áá°áááş ááźááŻá¸á áŹá¸ááźááŤá ááŻáˇá
BACKUP DATABASE [bt]
TO
DISK = 'D:SQLServerbackupbt1.bak',
DISK = 'D:SQLServerbackupbt2.bak'
WITH COMPRESSION;
áĄáááˇáşááźáąáŹááˇáşáááşá¸áá°áá°á
ááąááŹááąáˇá áş 'bt' áĄáá˝ááş á áŹááťááşáážáŹ 1070072á áááŻááş 1 áá˝ááş 'bt' áááŻááşááᯠááŻááşááąáŹááşáá˛áˇáááşá
ááąááŹááąáˇá áş 'bt'á áááŻááş 'bt' áĄáá˝ááş á áŹááťááşáážáŹ 2 ááŻááᯠááŻááşááąáŹááşáá˛áˇáááşáááŻááş 1 áá˝ááş log' á
áĄáááşááąááŹááąáˇá áşááᯠ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 ááŻá áááşá¸áĄáá˝ááş - ááŤááááá°á¸á áááşá¸á á áşááąá¸áááŻáˇáááŻáááşá ááąáŹááşá¸ááźáŽá áááˇáşáá˝ááş á¤á ááşáá ášá ááşá¸ááťáŹá¸áážáááŤáá á¤áĄááŹááťáŹá¸áááş áĄáážááşááááşáá˝á˛ááźáŹá¸ááźáŹá¸ááŹá¸ááąáŹ disk ááťáŹá¸ááźá áşáááşá ááŻááşáá°ááŤáááşá áĄááźááşáááş áááŻááááşááááŹááąáááˇáşááŤáááşá
áĄáᯠááŽááťáąáŹáşáá˝ážááşáážáŻááᯠáááşáááŻááźááşáááá˛áááŻáᏠááźáąáŹááźááˇáşááĄáąáŹááşá áááşá¸áááŻááŻááşááąáŹááşáááşá áááşáááş ááźááşáááşááá°ááźááşá¸áĄááááˇáşááᯠááźáąáŹááşá¸áá˛ááźáŽá¸ á ááşáá ášá ááşá¸áĄáŹá¸ááŻáśá¸ááᯠá áŹáááşá¸ááźáŻá áŻááááşááźá áşááŤáááşá
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 MB/sec) áĄáá˝ááşá¸ áĄáąáŹááşááźááşá á˝áŹ ááŻááşááąáŹááşáá˛áˇáááşá
áĄáááşá¸áááşááźááşááąáŹáşáááşá¸ ááŽá¸ááąáŹááąááŹáá˝ááş áá°á¸áá°á¸ááźáŹá¸ááźáŹá¸ááážáááŤá ááąááŻááťáĄáŹá¸ááźááˇáşá áĄáááşáá°á¸ááźááşá¸ááᯠáááŻáááŻááźááşáááşá á˝áŹ áááşáážáŹá¸ááźáŽá¸ áááŻáááşá¸áĄáááŻááşá¸ ááźááşáááşááá°áááş - áĄáąáŹááşááźááşááŤáááŹá¸á ááťá˝ááşááąáŹáˇáşáĄááąáá˛áˇáááąáŹáˇ ááąáŹáşááąáŹáşááąá¸ áĄáąáŹááşááźááşááŤáááşá áᎠáĄááąá¸ááźáŽá¸ááąáŹááŤááźáąáŹááˇáş ááŤáááşááźáąáŹáááş - áááŻáááşááąáŹáˇ á¤áááŻááşááťáŹá¸áá˛ááž áĄáááşá¸ááŻáśá¸áá áşáᯠááŻáśá¸áážáŻáśá¸ááŤáá áĄáááşáá°á¸áá°áážáŻáá áşááŻááŻáśá¸ ááŻáśá¸áážáŻáśá¸áááşááźá áşáááşá.
Trace Flags 3213 áážááˇáş 3605 áááŻáĄááŻáśá¸ááźáŻá ááźáááŹá¸ááąáŹ áĄáááşáĄááťááşáĄáááşááᯠáážááşáááşá¸áá˝ááş ááźááˇáşáážáŻááŤáá á ááşáá ášá ááşá¸ááťáŹá¸á á˝áŹááᯠáĄáááşááááşá¸áááˇáşáĄá፠áĄáááşá¸ááŻáśá¸ BUFFERCOUNT áĄááąáĄáá˝ááş áááŻá¸ááŹáááşááᯠáááááźáŻááááŤááááˇáşáááşá ááźá áşáááŻááşáááşáážáŹá áááşáááş BUFFERCOUNTá BLOCKSIZEá MAXTRANSFERSIZE áĄáá˝ááş áááŻáááŻáááˇáşááťáąáŹáşááąáŹ ááąáŹááşááťáŹá¸ááᯠáá˝áąá¸ááťááşáááş ááźááŻá¸á áŹá¸áááŻááşáááşá áááŻáˇááąáŹáş ááťá˝ááşáŻááşáááş ááťááşááťááşá¸ ááĄáąáŹááşááźááşáá˛áˇáá˛á áááŻáááŻáˇááąáŹ á ááşá¸áááşáážáŻááᯠáááşááśááŻááşááąáŹááşáááş ááťá˝ááşáŻááş ááťááşá¸áá˝ááşá¸ááąáŹáşáááşá¸ ááá°ááŽááąáŹ áááŻááşáĄááąáĄáá˝ááşáĄáá˝ááş ááźá áşáááşá ááźáŽá¸ááąáŹáˇ ááŽá¸áá˝áąáĄáá˝ááş áážááşá ááŹá áĄáááşáá˝ááşáááŻáá˛áˇáááŻáˇááąáŹá ááşá¸áááşáážáŻáááŻá áŽá ááşáááŻááŤáá ááŹááşáá˝ážááşá¸áááŻááźááşáááşáááşááŽá¸áááşááááşáá˛ááŤá
ááąáŹááşááŻáśá¸áĄááąáá˛áˇ á áťáąá¸áážáŻááşá¸áĄááźáąáŹááşá¸ ááźáąáŹááźááĄáąáŹááşá áĄááŻáśá¸ááźáŻáá°ááťáŹá¸ááĄááŻááşáážááˇáşáĄááźááŻááş áááášáá°áá°á¸áá°ááźááşá¸ááᯠáááşáážáŹá¸ááŤáá á ááşá¸áááşáááş áĄáá˝ááşááŹáááşáá°ááááˇáşáááşá¸áááşá¸ááᯠáááşáááŻáĄááşáááşá áĄáááşááźáąáŹááˇáşáááŻááąáŹáş áĄáááşááááşá¸áážáŻááᯠáááŻáááŻááźááşáááşá á˝áŹ áááşáážáŹá¸ááŤáá áá áşááşááťáŹá¸áááş áááŻáááŻáááşá¸ááŹááŹáᏠááááŻáááşááŹááąáŤáşáážá áááşáááŻáááŻá¸ááŹáááş (áááş compress ááŻááşáááşááťááşááąá¸áááş áááşá¸áááş ááťáśáááşá¸ááąá ááş) áážááˇáşáĄááŽá á áá áşá áĄááŻáśá¸á áŻáś ááŻáśáˇááźááşáááŻááşá á˝ááşá¸ ááťáąáŹáˇáááşá¸áá˝áŹá¸áááşá
ááąáŹááşááŹááŤá ááŤááąáááˇáş ááŻááşááąáŹáşááźáąáŹáááŻááŹááťááŻá¸ áááŻááşáá˛áˇáá°á¸áááŻáˇ ááąáŹááşá¸ááąáŹááşá¸ááŹá¸áááşááŤáááşá áĄáááşáá˝ááşááąá¸ááŹá¸áááˇáşáĄááŹáááş áááášáá°áá°á¸áá°ááźááşá¸áĄáá˝ááş áĄááąáŹááşá¸ááŻáśá¸ááąáŹááąáŹááşááťáŹá¸ááᯠáááşáááşáááŻáˇáá˝áąá¸ááťááşáááŻááşááŻáśááᯠáááŻááşááźááźááşá¸ááźá áşáááşá
áááşááŻááşáááťážáááş áááˇáşáááŻááşáááŻááşáĄáášáááŹááşáážááˇáş á á˝ááˇáşá áŹá¸áážáŻááźááˇáşááźáŽá¸ááźáąáŹááşá¸ ááááááŤá áááşá áĄáááşááááşá¸áážáŻááťáŹá¸ááᯠá á áşááąá¸ááźáŽá¸ DBCC CHECKDB áĄááźáąáŹááşá¸ áááąáˇááŤáážááˇáşá
source: www.habr.com