Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая SQL.doc
Скачиваний:
13
Добавлен:
21.11.2018
Размер:
653.31 Кб
Скачать

2.7 Создание репликации

Создадим репликацию транзакций для таблиц Books и Subscriber в базе данных Library. Сделаем так, что все изменения, которые вносятся в любую из этих таблиц, должны не позднее, чем через 10 минут отобразиться в одноименных таблицах новой базы данных Lib_Repl на сервере NY-SQL-01.

Настройку репликации начнем с настройки распространителя. Настройку распространителя осуществим при помощи мастера Configure Distribution Wizard. Откроем контейнер Replication (Репликация) в Object Explorer - Configure Distribution (Настроить распределение).

На первом экране мастера Distributor (Дистрибьютор) определим, что наш сервер будет выполнять роль распространителя для самого себя, поэтому выберем первый вариант.

На следующем экране мастера Snapshot Folder (Каталог моментальных снимков) определим каталог, в который будут помещаться моментальные снимки данных. Оставить каталог, предлагаемый по умолчанию.

На следующем экране Distribution Database (База данных распределения) определим имя и местонахождение файлов для создаваемой базы данных распределения.

Далее на экране Publishers (Издатели) выберем сервер NY-SQL-01, который сможет использовать этот распространитель.

На последнем экране мастера Wizard Actions (Действия мастера) дадим команду на настройку распространителя и создание базы данных распределения

После этого, нажмем кнопку Finish (Завершить) и настройка распространителя будет закончена.

Следующее действие, которое выполним после настройки распространителя - это создадим публикации. Публикацию создадим при помощи мастера, откроем контейнер Replication - Local Publications (Репликация - Локальные публикации) - New Publication (Новая публикация) в SQL Server Management Studio.

На экране Publication Databases (Базы данных публикации) выберем базу данных Library с информацией для публикации.

На следующем экране Publication Type (Тип публикации) выберем тип публикации Transactional Publication (Транзакционная публикация).

На экране Articles (Статьи) создадим статью для публикации. Для этого в списке объектов раскроем узел Tables (Таблицы) и установим флажки напротив таблиц Books и Subscriber.

На следующем экране Snapshot Agent настроим параметры запуска агента снятия моментальных снимков. По умолчанию переключатель стоит в положении Create a snapshot immediately (Создать моментальный снимок немедленно). Это значит, что моментальный снимок данных публикации будет сделан сразу после публикации и будет сохраняться в папке, чтобы можно было бы настраивать подписки.

На следующем экране Agent Security (Безопасность агента) выберем учетные записи, от имени которых будут работать Snapshot Agent и Log Reader Agent. Настроим работу агентов от имени учетной записи SQL Server Agent. Для этого на экране настройки безопасности агентов, нажмем на кнопку Security Settings (Настройки безопасности), выберем флажок Run under the SQL Service Agent Account (Запускать под учетной записью SQL Service Agent).

После этого  нажмем кнопку Finish, определим имя для публикации (назовите ее Lib_publication) и выполним ее создание.

Далее создадим подписку. Подписку настроим при помощи мастера подписки Local Subscriptions (Локальные подписчики) для сервера - New Subscriptions (Новая подписка) контекстного меню контейнера

На экране мастера Distribution Agent Location (Местонахождение Distribution Agent) выберем тип создаваемой подписки - принудительная.

На следующем экране Subscribers (Подписчики) выберем сервер NY-SQL-01, который будет подписчиком для нашей публикации.

Далее выберем базу данных, на которую будут передаваться реплицируемые данные. Выберем значение New Database (Новая база данных) и создать новую базу данных – Lib_Repl.

На следующем экране Distribution Agent Security (Безопасность Distribution Agent) настроим учетную запись для Distribution Agent и параметры его подключения к распространителю и подписчику. В данном случае используем для него ту же учетную запись, что и для SQL Server Agent.

Далее настроим расписание репликации. Установим, что репликация будет производиться с интервалом в 10 минут. Поэтому в списке Agent Schedule (Расписание агента) на экране Synchronization Schedule (Расписание синхронизации) выберем параметр Define Schedule (Определить расписание) и настройте параметры для создаваемого расписания: Frequency Occurs: Daily, Recurs every: 10 minutes;

На следующем экране мастера определим время инициализации базы данных подписчика. Выберем вариант - Immediately (Немедленно). На этом же экране при необходимости можно снять флажок Initialize (Инициализация).

Далее нажмем кнопку Finish и произведем создание подписки. В базе данных подписки будет автоматически создан требуемый набор таблиц и будет произведена загрузка данных в эти таблицы. Если же мы внесем какие-либо изменения в опубликованные таблицы источника, то в течение 10 минут эти изменения будут отреплицированы и отображены в базе данных подписчика.