Поделиться через


Настройка географической избыточности с помощью Репликация SQL Server

Внимание

Если вы хотите создать ферму AD FS и использовать SQL Server для хранения данных конфигурации, можно использовать SQL Server 2008 или более поздней версии.

Если вы используете SQL Server в качестве базы данных конфигурации AD FS, вы можете настроить геоизбыточное использование фермы AD FS с помощью репликации SQL Server. Геоизбыточная избыточность реплицирует данные между двумя географически удаленными сайтами, чтобы приложения могли переключаться с одного сайта на другой. Таким образом, в случае сбоя одного сайта можно по-прежнему иметь все данные конфигурации, доступные на втором сайте. Дополнительные сведения см. в разделе "Географическое избыточность SQL Server" в ферме серверов федерации с помощью SQL Server.

Необходимые компоненты

Установите и настройте ферму SQL Server. Дополнительные сведения см. в разделе https://technet.microsoft.com/evalcenter/hh225126.aspx. На начальном сервере SQL Server убедитесь, что служба агент SQL Server запущена и настроена для автоматического запуска.

Создание второго (реплики) SQL Server для геоизбыточности

  1. Установка SQL Server (дополнительные сведения см. в статье https://technet.microsoft.com/evalcenter/hh225126.aspx. Скопируйте полученные CreateDB.sql и файлы скриптов SetPermissions.sql на реплику SQL Server.

  2. Убедитесь, что служба агент SQL Server запущена и настроена автоматическая запуск

  3. Запустите Export-AdfsDeploymentSQLScript на основном узле AD FS, чтобы создать CreateDB.sql и файлы SetPermissions.sql. Например: PS:\>Export-AdfsDeploymentSQLScript -DestinationFolder . –ServiceAccountName CONTOSO\gmsa1$. Снимок экрана: запуск export-AdfsDeploymentSQLScript на основном узле AD FS.

  4. Скопируйте скрипты на сервер-получатель. Откройте скрипт CreateDB.sql в SQL Management Studio и нажмите кнопку "Выполнить". Снимок экрана: открытие скрипта CreateDB.sql в SQL Management Studio.

  5. Откройте скрипт SetPermissions.sql в SQL Management Studio и нажмите кнопку "Выполнить". Снимок экрана: открытие скрипта SetPermissions.sql в SQL Management Studio.

Примечание.

Можно также использовать следующую команду из командной строки.

c:\>sqlcmd –i CreateDB.sql

c:\>sqlcmd –i SetPermissions.sql

Создание параметров издателя на начальном сервере SQL Server

  1. В среде SQL Server Management Studio в разделе "Репликация" щелкните правой кнопкой мыши "Локальные публикации" и выберите "Создать публикацию".Снимок экрана: пункт меню

  2. На экране мастера создания публикаций нажмите кнопку "Далее".
    Снимок экрана: экран мастера создания публикаций.

  3. На странице распространителя выберите локальный сервер в качестве распространителя и нажмите кнопку "Далее". Снимок экрана, на котором показано, где выбрать локальный сервер в качестве распространителя.

  4. На странице папки моментального снимка введите \\SQL1\repldata вместо папки по умолчанию. (ПРИМЕЧАНИЕ. Возможно, вам придется создать эту общую папку самостоятельно). Снимок экрана, на котором показано, куда ввести путь к папке моментальных снимков по умолчанию.

  5. Выберите AdfsConfigurationV3 в качестве базы данных публикации и нажмите кнопку "Далее". Снимок экрана, на котором показано, где выбрать AdfsConfigurationV3 в качестве базы данных публикации.

  6. В типе публикации выберите "Объединить публикацию " и нажмите кнопку "Далее". Снимок экрана, на котором показано место

  7. В типах подписчиков выберите SQL Server 2008 или более поздней версии и нажмите кнопку "Далее". Снимок экрана, на котором показано, где выбрать SQL Server 2008 или более поздней версии.

  8. На странице "Статьи" выберите узел "Таблицы", чтобы выбрать все таблицы, а затем отменить проверку таблицы SyncProperties (ее не следует реплицировать).
    Снимок экрана, на котором показано, где снимите флажок SyncProperties (IdentityServerPolicy).

  9. На странице "Статьи" выберите узел "Определяемые пользователем функции", чтобы выбрать все определяемые пользователем функции и нажмите кнопку "Далее". Снимок экрана, на котором показано, где установлен флажок

  10. На странице "Проблемы статьи" нажмите кнопку "Далее". Screnshot, на экране

  11. На странице "Фильтрация строк таблицы" нажмите кнопку "Далее". Снимок экрана: экран

  12. На странице агент моментальных снимков выберите значения по умолчанию интерпретации и 14 дней, нажмите кнопку "Далее". Снимок экрана: экран агент моментальных снимков.
    Возможно, потребуется создать учетную запись домена для агента SQL. Выполните действия, описанные в статье "Настройка имени входа SQL для учетной записи домена CONTOSO\sqlagent ", чтобы создать имя входа SQL для этого нового пользователя AD и назначить определенные разрешения.

  13. На странице "Безопасность агента" нажмите кнопку "Параметры безопасности" и введите имя пользователя и пароль учетной записи домена (а не GMSA), созданную для агента SQL, и нажмите кнопку "ОК". Нажмите кнопку Далее. Снимок экрана, на котором показано, где ввести имя пользователя и пароль для учетной записи домена.

  14. На странице "Действия мастера" нажмите кнопку "Далее". Снимок экрана: экран

  15. На странице "Завершение работы мастера" введите имя публикации и нажмите кнопку "Готово". Снимок экрана, на котором показано, где введите имя публикации.

  16. После создания публикации вы увидите состояние успешного выполнения. Нажмите кнопку Закрыть. Снимок экрана: успешное завершение публикации.

  17. Вернитесь в SQL Server Management Studio, щелкните правой кнопкой мыши новую публикацию и нажмите кнопку "Запустить монитор репликации". Снимок экрана: пункт меню

Создание параметров подписки на реплике SQL Server

Убедитесь, что вы создали параметры издателя на исходном СЕРВЕРе SQL Server, как описано выше, и выполните следующую процедуру:

  1. На реплике SQL Server в среде SQL Server Management Studio в разделе "Репликация" щелкните правой кнопкой мыши локальные подписки и выберите новую подписку.... Снимок экрана, на котором показано, где выбрать новую подписку.

  2. На странице мастера создания подписки нажмите кнопку "Далее". Снимок экрана: экран мастера создания подписки.

  3. На странице публикации выберите издателя из раскрывающегося списка. Разверните AdfsConfigurationV3 и выберите имя публикации, созданной выше, и нажмите кнопку "Далее". Снимок экрана, на котором показано, где развернуть AdfsConfigurationV3 и выбрать имя созданной публикации.

  4. На странице агент слияния расположение выберите "Запустить каждый агент" на подписчике (подписки по запросу) (по умолчанию) и нажмите кнопку "Далее". Снимок экрана: параметр запуска каждого агента на подписчике (подписки на вытягивание).
    Это вместе с приведенным ниже типом подписки определяет логику разрешения конфликтов. (Дополнительные сведения см. в разделе Обнаружение и разрешение конфликтов репликации слиянием.

  5. На странице "Подписчики" выберите AdfsConfigurationV3 в качестве базы данных подписчика и нажмите кнопку "Далее". Снимок экрана: экран подписчиков.

  6. На странице безопасности агент слияния щелкните ... и введите имя пользователя и пароль учетной записи домена (а не GMSA), созданной для агента SQL с помощью многоточия и нажмите кнопку "Далее". Снимок экрана: экран агент слияния Безопасность.

  7. В расписании синхронизации нажмите кнопку "Непрерывно выполнить" и нажмите кнопку "Далее". Снимок экрана: место непрерывного запуска.

  8. При инициализации подписок нажмите кнопку "Далее". Снимок экрана: экран инициализации подписок.

  9. В разделе "Тип подписки" выберите "Клиент " и нажмите кнопку "Далее".

    Последствия этого описаны здесь и здесь. По сути, мы принимаем простое "первое для издателя побед" разрешение конфликтов, и нам не нужно повторно публиковать другим подписчикам. Снимок экрана: экран

  10. На странице "Действия мастера" убедитесь, что установлен флажок "Создать подписку" и нажмите кнопку "Далее". Снимок экрана, на котором показано, где выбран параметр

  11. На странице " Завершение работы мастера" нажмите кнопку "Готово". Снимок экрана: экран

  12. После завершения процесса создания подписки вы увидите успешное выполнение. Нажмите кнопку Закрыть. Настройка географической избыточности

Проверка процесса инициализации и репликации

  1. На основном сервере SQL Server щелкните правой кнопкой мыши узел репликации и нажмите кнопку "Запустить монитор репликации".

  2. В мониторе репликации щелкните публикацию.

  3. На вкладке "Все подписки" щелкните правой кнопкой мыши и просмотрите сведения.

    Вы должны увидеть множество записей в разделе "Действия " для начальной репликации.

  4. Кроме того, вы можете просмотреть узел агент SQL Server\Jobs, чтобы просмотреть задания, запланированные для выполнения операций публикации или подписки. Отображаются только локальные задания, поэтому обязательно проверьте издателя и подписчика для устранения неполадок. Щелкните правой кнопкой мыши задание и выберите "Просмотреть журнал " для просмотра журнала выполнения и результатов.

Настройка имени входа SQL для учетной записи домена CONTOSO\sqlagent

  1. Создайте новое имя входа на первичном и реплике SQL Server с именем CONTOSO\sqlagent (имя нового пользователя домена, созданного и настроенного на странице "Безопасность агента" в описанных выше процедурах).

  2. В SQL Server щелкните правой кнопкой мыши созданное имя входа и выберите пункт "Свойства", а затем на вкладке "Сопоставление пользователей" сопоставите это имя с базами данных AdfsConfiguration и AdfsArtifact с общедоступными и db_genevaservice ролями. Кроме того, сопоставляйте это имя входа с базой данных распространителя и добавьте db_owner роль для таблиц распространения и adfsconfiguration. Это применимо как к основному, так и к реплике SQL Server. Дополнительные сведения см. в статье Replication Agent Security Model.

  3. Предоставьте соответствующим учетным записям домена разрешения на чтение и запись для общей папки, настроенной в качестве распространителя. Убедитесь, что вы устанавливаете разрешения на чтение и запись как в разрешениях общего ресурса, так и в локальных файлах.

Настройка узлов AD FS для указания фермы реплик SQL Server

Теперь, когда вы настроили геоизбыточное распределение, узлы фермы AD FS можно настроить для указания фермы SQL Server реплики SQL Server с помощью стандартных возможностей фермы "присоединение" AD FS либо из пользовательского интерфейса мастера конфигурации AD FS, либо с помощью Windows PowerShell.

Если вы используете пользовательский интерфейс мастера настройки AD FS, выберите " Добавить сервер федерации" в ферму серверов федерации. Не нажимайте кнопку "Создать первый сервер федерации" в ферме серверов федерации.

При использовании Windows PowerShell запустите Add-AdfsFarmNode. Не запускайте Install-AdfsFarm.

При появлении запроса укажите имя узла и экземпляра реплики SQL Server, а не начального СЕРВЕРА SQL Server.