Копировании базы данных SQL Server средствами пакетов службы Integration Services

В этой статье я рассмотрю один из вариантов копирования базы данных, расположенной на SQL Server — копирование через пакет служб Integration Services.

Данный механизм копирования является встроенной функцией Management Studio и предлагает 2 варианта работы: с отключением базы источника и без отключения. Разница между этими вариантами приведена ниже:

Метод Описание
С отключением базы данных Работа с базой невозможна пока выполняется копирование. При этом копия базы является точной, а сама процедура копирования происходит быстро.
Без отключением базы данных Возможна работа с базой в процессе копирования. Копия базы может содержать несогласованные данные, а процедура копирования происходит медленно.

Ввиду наличия в обоих вариантах серьезных недостатков: «с отключением» — невозможна работа пользователей, а «без отключения» могут быть несогласованные данные, я считаю данный механизм копирования неподходящим для реальной жизни, тем не менее я продолжу его рассмотрение в общеобразовательных целях.

Выполнение копирования

В целом, настройка данного механизма не составит проблем. Для того чтобы выполнить копирование, необходимо зайти в Management Studio. Далее, щелкнув правой клавишей мыши на копируемой базе данных, в контекстном меню перейти «Задачи» (Tasks) → Скопировать базу данных (Copy database), после чего откроется окно помощника.

Management Studio: Копирование базы данных
Management Studio: Копирование базы данных

Далее, помощник попросит указать сервер с которого необходимо копировать базу данных, а так же способ авторизации и реквизиты доступа на этом сервере; после чего помощник запросит аналогичную информацию о сервере-приемнике (куда будет скопирована база).

Помощник настройки копирования базы данных. Выбор сервера-источника
Выбор сервера-источника
Помощник настройки копирования базы данных. Выбор сервера-приемника
Выбор сервера-приемника

На следующем этапе мастер настройки предлагает вариант копирования: «метод отсоединения и присоединения» (use the detach and attach method) — т.е. копирование с отключением базы данных; или же использовать метод объектов SMO (use the SQL Management Object Method) — т.е. без отключения базы данных. Выше были описаны плюсы и минусы этих вариантов. Помимо этого, для варианта с отключением БД, необходимо выбрать вариант действий в случае возникновения ошибки (if a failure occurs…): если флаг установлен — подключение в БД будет восстановлено, в противном случае — нет.

Помощник настройки копирования базы данных. Выбор варианта копирования
Выбор варианта копирования

Далее необходимо выбрать копируемую базу и действие с ней (копирование или перемещение). Данные флаги уже будут расставлены, поскольку мастер настройки мы вызвали из контекстного меню.

Помощник настройки копирования базы данных. Выбор баз данных
Выбор баз данных

На следующем шаге помощник предлагает указать имя базы-приемника, а так же расположение файлов базы данных и журнала транзакций. Помимо этого, необходимо выбрать вариант действия когда база-приемник существует: прекратить передачу (stop the transfer) или удалить целевую базу (drop database)

Помощник настройки копирования базы данных. Настройка базы приемника
Настройка базы приемника

Далее необходимо указать имя пакета и параметры ведения журнала, на этом этапе можно все оставить по умолчанию, после чего можно указать будет ли задание выполнено немедленно или указать расписание для задания.

Помощник настройки копирования базы данных. Настройка пакета заданий
Настройка пакета заданий
Помощник настройки копирования базы данных. Установка расписания пакета заданий
Установка расписания пакета заданий

На последнем шаге приводится сводная информация о задании, затем, если все корректно, необходимо нажать «Готово» (Finish), после чего будет создано задание и, если было указано, немедленно выполнен созданный пакет.

Помощник настройки копирования базы данных. Завершение настройки
Завершение настройки

В результате будет создано задание в дереве «Обозревателя объектов», которое можно выполнить в любой момент времени, вызвав контекстное меню правой клавишей мыши и выбрав «Запустить задание на шаге» (Start job at step)

Management Studio. Задание пакета IS
Management Studio. Задание пакета IS

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *