Администрирование > Резервное копирование базы данных

Резервное копирование базы данных

Navigation:  Администрирование >

Резервное копирование базы данных

Previous pageReturn to chapter overviewNext page
Show/Hide Hidden Text

1. Резервное копирование базы данных вручную.

 

Запустите программу Microsoft SQL Server Management Studio из комплекта программ Microsoft SQL Server 2008 R2. Откройте базу данных O-TAXI или выделите ее курсором мыши. Щелкните правой кнопкой мыши по названию базы данных для вызова контекстного меню.

 

o-taxi_clip0352

 

Выберите пункт "Backup …" или "Резервная копия" (в русифицированной версии).

Тип резервной копии: Полная;

Компонент резервного копирования: База данных;

Имя: тут введите понятное наименование резервной копии, например "O-TAXI" копия на 31.12.2017 такси Халява Новосибирск".

В Назначении укажите файл, в который будет сохраняться резервная копия базы данных с помощью кнопки "Добавить". На странице "Параметры" выберите "перезаписать все существующие наборы данных", чтобы заменить имеющиеся резервные копии с таким же названием файла, иначе он добавит резервную копию в существующий файл.

 

o-taxi_clip0353

 

Нажмите "ОК" для сохранения резервной копии базы данных.

 

2. Автоматическое резервное копирование базы данных с помощью Агента SQL Server.

 

В коммерческой версии, начиная с Microsoft SQL Server 2008 Standard, можно настроить автоматическое создание резервной копии по расписанию, для этого используйте Microsoft SQL Server Agent. Рекомендуем настроить автоматическое создание резервной копии по расписанию не реже 1 раза в день, например, в ночное время. Это можно сделать с помощью Агента SQL server.

Данный способ является рекомендуемым для платных версий SQL Server, т.к. для данные действия выполняются средствами самого SQL Server.

1. Установите на сервер архиватор, который может выполнять архивацию из командной строки, например, бесплатный 7zip (www.7-zip.org) или платный WinRAR.

2. Для запуска архиватора из SQL скрипта необходимо разрешить использование командной строки в SQL Server. Для этого выполняем SQL команды:

hmtoggle_plus1        SQL скрипт

-- для включения расширенных настроек SQL сервера

EXEC sp_configure 'show advanced options', 1

GO

-- применяем изменения

RECONFIGURE

GO

-- включаем доступ к командной строке

EXEC sp_configure 'xp_cmdshell', 1

GO

-- применяем изменения

RECONFIGURE

GO

3. В Microsoft Management Studio зайдите в меню SQL Server Agent → Jobs. Создайте задачу (New Job). Назовите ее, например, "BackUp O-TAXI".

4. В странице Steps создайте 2 шага, на первом шаге будет выполняться создание резервной копии и ее архивация архиватором 7zip, на втором шаге будет выполняться очистка и усечение Transaction Log.

Шаг 1. Пример SQL скрипта:

hmtoggle_plus1        SQL скрипт

/* создание резервной копии и упаковка ее в архив 7zip

Для использования пропишите в переменной путь к каталогу с резервными копиями

Убедитесь, что каталог доступен на запись пользователю, под которым запущен SQL Server 

*/

DECLARE @nameT varchar(100), @CmdStr varchar(1024), @FileName varchar(256), @FilePath varchar(1024);

SET @FilePath='d:\BackUp\2013\';

SELECT @nameT = DB_NAME();

SET @FileName='otaxi_'+CAST(YEAR(GETDATE()) as varchar(4))+CAST(MONTH(GETDATE()) as varchar(4))+CAST(DAY(GETDATE()) as varchar(4));

SET @CmdStr=@FilePath+@FileName+'.bak';

BACKUP DATABASE @nameT TO  DISK = @CmdStr WITH INIT ,  NOUNLOAD ,  NOSKIP ,  STATS = 10,  NOFORMAT;

SET @CmdStr='"C:\Program Files (x86)\7-Zip\7z.exe" a '+@FilePath+@FileName+'.zip '+@CmdStr;

exec master..xp_cmdshell @CmdStr;

--удаляем файл

SET @CmdStr='del '+@FilePath+@FileName+'.bak';

exec master..xp_cmdshell @CmdStr;

Шаг 2. Пример SQL скрипта:

hmtoggle_plus1        SQL скрипт

/* усечение Transaction Log в MS SQL2008 и 2008R2

вместо OTAXI_Log подставить логическое имя файла лога

*/

ALTER DATABASE [o-taxi] SET RECOVERY SIMPLE WITH NO_WAIT

DBCC SHRINKFILE(OTAXI_Log, 100)

ALTER DATABASE [o-taxi] SET RECOVERY FULL WITH NO_WAIT

 

5. Зайдите на страницу Schedules, создайте новое расписание запуска. Введите параметры запуска задачи, например, каждый день в 02:00 ночью.

Подробнее по настройкам агента смотрите в справочной документации по MS SQL Server.

Внимание ! Проверьте, доступны ли каталоги, в которые будет производиться резервное копирование пользователю операционной системы, под которым запускается MS SQL Server.

 

3. Автоматическое резервное копирование базы данных с помощью Планировщика задач.

 

Данный вид копирования не рекомендуется и предназначен только для версий MS SQL Server, в которых отсутствует SQL Server Agent.

Для настройки зайдите в меню программыАдминистрирование" → "Планировщик задач" и найдите задачу "Резервное копирование базы данных", откройте ее и настройте время ее запуска, также отредактируйте в SQL скрипте пути к каталогам, в которые будет производиться резервное копирование.

 

В тексте SQL скрипта укажите путь к каталогу, в котором будут сохраняться файлы резервных копий, например:

SET @filenameFull='C:\'+@filename+'.bak';

заменить на

SET @filenameFull='C:\O-TAXI\arc\'+@filename+'.bak';

где C:\O-TAXI\arc\ - каталог для хранения резервных копий, каталог должен существовать и быть доступным на запись учетной записи, под которой работает SQL Server.

 

Внимание! Запуск задач планировщика осуществляется службой n_qiwi.exe, убедитесь что она запущена и находится на том же сервере, что и база данных! Также проверьте, доступны ли каталоги, в которые будет производиться резервное копирование пользователю операционной системы, под которым запускается MS SQL Server.