MSSQL. Настройка репликации транзакций из бэкапа

  1. Настроить доступ к серверам по DNS-имени 
  2. Создать пользователя для репликации на всех серверах (например, repl_admin). На сервере-издателе дать роль db_owner к базе данных, которую будем реплицировать. На сервере-подписчике — серверная роль db_creator
  3. Настроить распространителя с помощью мастера (щелкнуть правой кнопкой мыши по папке Replication сервера-распространителя и выбрать Configure Distributor). В процессе настройки задается имя базы данных дистрибьютера и путь к папке для моментальных снимков. При настройке можно сразу указать сервер-издатель. После настройки необходимо в свойствах распространителя задать пароль для публикаций.
  4. Настроить издателя с помощью мастера (на сервере-издателе раскрыть папку Replication и щелкнуть правой кнопкой мыши по папке Local Publications и выбрать New Publication). В процессе настройки задаются настройки доступа к распространителю (если на шаге 3 не был указан издатель), выбирается база данных, которую необходимо реплицировать, тип репликации (в данном случае рассматривается репликация транзакций), выбираются объекты, участвующие в репликации и задаются настройки. В конце задается имя публикации. Для правильной работы установить для таблиц:
    Copy nonclustered Indexes = True
    Copy file group associations = True
    Copy table partitioning schemes = True
    Copy index partitioning schemes = True
    Copy full text indexes = True
  5. В свойствах публикации задать Allow initialization from backup = True
  6. Сделать бэкап базы данных-издателя и скопировать бэкап на подписчика (бэкапа делать в файл с новым именем!). 
  7. Остановить и отключить на распространителе задачу Distribution clean up: distribution
  8. Восстановить базу данных из бэкапа на подписчике
  9. В базе данных издателя добавить подписчика с помощью команды:
     USE [база_данных_издателя]
    GO

    EXEC sp_addsubscription @publication = N’название_публикации’
    ,@subscriber = N’сервер_подписчик’
    ,@destination_db = N’название_базы_данных_на_подписчике’
    ,@sync_type = N’initialize with backup’
    ,@backupDeviceType = N’Disk’
    ,@backupDeviceName = N’путь_к_бэкапу_на_издателе!’
    GO
  10. Включить на распространителе задачу Distribution clean up: distribution
  11. Проверить в мониторе репликации, что репликация идет без ошибки

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

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