Запустите программу Microsoft SQL Server Management Studio из комплекта программ Microsoft SQL Server 2008 R2. Откройте базу данных O-TAXI или выделите ее курсором мыши. Щелкните правой кнопкой мыши по названию базы данных для вызова контекстного меню.
Выберите пункт "Backup …" или "Резервная копия" (в русифицированной версии).
Тип резервной копии: Полная;
Компонент резервного копирования: База данных;
Имя: тут введите понятное наименование резервной копии, например "O-TAXI" копия на 31.12.2017 такси Халява Новосибирск".
В Назначении укажите файл, в который будет сохраняться резервная копия базы данных с помощью кнопки "Добавить". На странице "Параметры" выберите "перезаписать все существующие наборы данных", чтобы заменить имеющиеся резервные копии с таким же названием файла, иначе он добавит резервную копию в существующий файл.
Нажмите "ОК" для сохранения резервной копии базы данных.
В коммерческой версии, начиная с 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 команды:
-- для включения расширенных настроек 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 скрипта:
/* создание резервной копии и упаковка ее в архив 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 скрипта:
/* усечение 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.
Данный вид копирования не рекомендуется и предназначен только для версий 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.