Главная » Microsoft SQL Server, Базы данных » Перенос баз данных

0

Перенос данных может показаться надуманной задачей, однако на практике чаще всего базы данных проектируются на одном сервере, а развертываются — на других. Без надежного и эффективного способа переноса схем и информации баз данных ни один проект далеко не достигнет успеха.

В SQL Server для перемещения баз данных предусмотрено несколько механизмов. Как разработчик или администратор баз данных вы должны быть хорошо подкованы в следующих вопросах, три из которых мы рассмотрим в настоящей главе.

?               Мастер копирования баз данных.

?               Сценарии SQL.

?               Подключение и отключение баз данных.

?               Резервирование и восстановление баз данных (этому вопросу посвящена следующая глава).

Ключевым моментом в определении лучшего способа организации переноса данных является знание того, какие именно данные следует переместить, и имеет ли сервер непосредственное подключение к скоростной сети. В табл. 35.1 перечислены требования к копированию и различные методы перемещения баз данных.

Мастер копирования баз данных

Мастер копирования баз данных (Copy Database Wisard) генерирует пакет службы преобразования данных (DTS), который может скопировать или переместить одну или несколько баз данных с одного сервера на другой. Если база данных перемещается между серверами одной локальной сети, то этот метод является наиболее предпочтительным. Этот метод не пригоден для копирования баз данных SQL Server 2005 в более старые версии SQL Server. К тому же на исходном и целевом серверах должны быть запущены агенты SQL Server Agent

(в SQL Server 2005 этот агент по умолчанию остановлен). Мастер копирования баз данных наделен большими способностями и обеспечивает достаточную гибкость в работе. Единственное ограничение заключается в том, что к базе данных должен быть установлен монопольный доступ. Запускается мастер копирования баз данных с помощью щелчка правой кнопкой мыши на копируемой базе и выбора в контекстном меню пункта Tasks^Copy Database. Пропустите страницу приветствия, щелкнув на кнопке Next.

Таблица 35.1. Методы перемещения баз данных

Требование

Мастер копирования баз данных

Сценарий SQL

Отключение и подключение

Резервирование и восстановление

Монопольный доступ к базе данных

Да

Нет

Да

Нет

Копирование между не связанными друг с другом серверами

Нет

Да

Да

Да

Копирование схемы базы данных

Да

Да

Да

Да

Копирование данных

Да

Нет

Да

Да

Защищенность копиро

Регистрационные за

Зависит от кон

Пользователи

Пользователи базы

вания

писи сервера, пользо

кретного сцена

базы данных,

данных, роли

ватели базы данных, роли и разрешения

рия

роли и разрешения

и разрешения

Копирование заданий и пользовательских сообщений об ошибках

Да

Зависит от

конкретного

сценария

Да

Да

Дополнительная Более подробно о запуске и остановке агента SQL Server Agent см. в главе 4.

информация

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

В третьем окне будет предложено выбрать метод переноса базы данных. Метод отключения/подключения работает быстрее, однако требует дополнительных привилегий в базах данных источника и назначения; к тому же вы должны иметь монопольный доступ к обеим базам данных. Лучше всего метод отключения/подключения проявляет себя при работе с крупными базами данных. Метод, использующий модель SMO (SQL Management Objects), не требует какого-либо особого доступа к базам данных, и пользователи могут продолжать работу с базой источника. Однако этот метод работает значительно медленнее, и компания Microsoft не рекомендует его использовать для переноса крупных баз данных.

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

В пятом окне вам будет предложено сконфигурировать базу данных назначения. Базе данных следует присвоить имя и определить, как мастер должен поступить, если на целевом сервере уже существует база с таким именем.

В четвертом окне (рис. 35.1) вы можете указать мастеру состав перемещаемых объектов.

?               Все учетные записи или только те, которые имеют доступ к перемещаемой базе данных.

?               Все или только избранные несистемные хранимые процедуры базы данных master, которые используются перемещаемой базой данных.

?               Все или только избранные задания агента SQL Server Agent (автоматизированные и запускаемые по расписанию задания).

?               Все или только избранные пользовательские сообщения об ошибках (используемые командой T-SQL RAISEEROR).

Puc. 35.1. Мастер копирования баз данных позволяет заодно переместить и информацию, связанную с сервером

В зависимости от выбранных параметров мастер может открыть дополнительные страницы для отбора несистемных хранимых процедур базы данных master, заданий SQL Server Agent и пользовательских сообщений об ошибках.

На странице конфигурирования пакета отображается место размещения пакета; также вы можете задать его имя и выбрать метод протоколирования ошибок. По умолчанию все ошибки заносятся в журнал событий Windows, однако можно направить вывод и в текстовый файл (в последнем случае мастер потребует ввести имя файла и место его размещения).

На странице определения времени запуска пакета (рис. 35.2) можно либо выбрать момент завершения работы с мастером, либо отложить запуск на более позднее время, либо запланировать регулярный запуск по расписанию.

После завершения работы мастер сгенерирует и запустит пакет службы интеграции (рис. 35.3), а также сохранит его на сервере назначения.

С выходом пакета обновлений SP2 стало возможно создавать файл словесного Внимание! протокола, который можно просмотреть для выявления проблем, связанных с операцией переноса базы данных.

Вы можете открыть сгенерированный пакет (рис. 35.4), выбрав в дереве консоли SQL Server Agent узел Jobs и дважды щелкнув на нужном пакете. Если имя пакета не редактировалось в мастере на странице создания расписания, то оно будет состоять из символов CDW, имен двух серверов и целого числа. В списке консоли вы можете также увидеть и дату создания пакета.

Puc. 35.2. Мастер копирования баз данных позволяет запустить пакет службы интеграции либо немедленно, либо в заданное время, либо запланировать регулярный запуск по расписанию

Puc. 35.3. При выполнении в мастере копирования баз данных пакета службы интеграции в окне отображается последовательность выполняемых действий

Рис. 35.4. Мастер копирования баз данных создает задание агента SQL Server Agent; в данном случае оно получило название CDW WINSERV MAIN О

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии