Каталог решений - Настрой свой сетевой бекап базы данных

Настрой свой сетевой бекап базы данных

Настрой свой сетевой бекап базы данных

В наличии

Один из вариантов, как корректно необходимо делать сетевой бекап базы данных.

Категория:

Описание

Решил поделится опытом одним из вариантов корректного бекапирования баз данных SQL.

Раскажу сходу о возможном бекапе средствами СКЛ используя netdevice. Используя данную возможность при бекапа базы в 20Гб при сети 1Гб/с бекапится будет больше часа и при этом нагрузка сетевого канала достаточно велика, а также при сбое бекапа тоже не очень хорошо.

Вот скрипт который будет создаст netdevice

sp_addumpdevice ‘disk’, ‘networkdevice’,
‘\\192.168.1.202\e$\Buckup\net.bck’

Далее, просто создаем Maintance Plane и вешаем бекам на наш ‘networkdevice’ необходимой СУБД.

Позитив данного решения минимальные трудозатраты  программиста/администратора. Это вполне можно применять на маленьких СУБД.

А вот более сложный механизм:

declare @c varchar(4000)
declare @FileMoved varchar(4000)
declare @NameFile varchar(20)
declare @MM varchar(10)
declare @DD varchar(10)
declare @YYYY varchar(10)
 
declare @resArxiv varchar(4000) 
declare @resMoved varchar(4000)
 
BACKUP DATABASE [Torg] TO DISK = N’D:\SQL_Backup\Diff\Net_Torg.bak’
WITH NOINIT , NOUNLOAD , NAME = N’DataBase backup’, NOSKIP , STATS = 10, NOFORMAT
 
 
set @NameFile = ‘Net_Torg’ — укажем предполагаемое наименование файла  
set @DD=day(getdate())—день в который делаеться архив
set @MM=month(GetDate())—месяц в который делаеться архив
set @YYYY=year(getdate())—год в который делаеться архив
set @c=’rar a «‘ +’D:\SQL_Backup\Diff\’+@NameFile+’_’+@DD+’_’+@MM+’_’+@YYYY+’.rar » ‘ +’D:\SQL_Backup\Diff\’+@NameFile+’.bak’ 
set @FileMoved =’move D:\SQL_Backup\Diff\’+@NameFile+’_’+@DD+’_’+@MM+’_’+@YYYY+’.rar \\192.168.0.200\Arhiv\Diff_Daily\’
 
exec @resArxiv = master..xp_cmdshell @c

exec @resMoved = master..xp_cmdshell @FileMoved

 

Здесь сначала делается бекап на жесткий диск, а потом уже сжимаются данные архиватором и переносится на сетевой диск. Бекап отлично сжимается и удобно держать их в архивах по днях.

Для этого достаточно этот скрипт дать вашему SQL-Server и повесит на него шедулер и все… Следует помнить, что для SQL серверов 2005 и выше, хранимая процедура «xp_cmdshell» может быть отключенной, для ее подключения можно запустить вот такой скрипт:

EXEC master.dbo.sp_configure ‘show advanced options’, 1

RECONFIGURE

EXEC master.dbo.sp_configure ‘xp_cmdshell’, 1

RECONFIGURE

Ну и конечно, чтобы все работало надо иметь соответсвенные права на сервере.

has been added to your cart:
Оформление заказа