Настройка географической избыточности с помощью Репликация 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 для геоизбыточности
Установка SQL Server (дополнительные сведения см. в статье https://technet.microsoft.com/evalcenter/hh225126.aspx. Скопируйте полученные CreateDB.sql и файлы скриптов SetPermissions.sql на реплику SQL Server.
Убедитесь, что служба агент SQL Server запущена и настроена автоматическая запуск
Запустите Export-AdfsDeploymentSQLScript на основном узле AD FS, чтобы создать CreateDB.sql и файлы SetPermissions.sql. Например:
PS:\>Export-AdfsDeploymentSQLScript -DestinationFolder . –ServiceAccountName CONTOSO\gmsa1$
.Скопируйте скрипты на сервер-получатель. Откройте скрипт CreateDB.sql в SQL Management Studio и нажмите кнопку "Выполнить".
Откройте скрипт SetPermissions.sql в SQL Management Studio и нажмите кнопку "Выполнить".
Примечание.
Можно также использовать следующую команду из командной строки.
c:\>sqlcmd –i CreateDB.sql
c:\>sqlcmd –i SetPermissions.sql
Создание параметров издателя на начальном сервере SQL Server
В среде SQL Server Management Studio в разделе "Репликация" щелкните правой кнопкой мыши "Локальные публикации" и выберите "Создать публикацию".
На экране мастера создания публикаций нажмите кнопку "Далее".
На странице распространителя выберите локальный сервер в качестве распространителя и нажмите кнопку "Далее".
На странице папки моментального снимка введите \\SQL1\repldata вместо папки по умолчанию. (ПРИМЕЧАНИЕ. Возможно, вам придется создать эту общую папку самостоятельно).
Выберите AdfsConfigurationV3 в качестве базы данных публикации и нажмите кнопку "Далее".
В типе публикации выберите "Объединить публикацию " и нажмите кнопку "Далее".
В типах подписчиков выберите SQL Server 2008 или более поздней версии и нажмите кнопку "Далее".
На странице "Статьи" выберите узел "Таблицы", чтобы выбрать все таблицы, а затем отменить проверку таблицы SyncProperties (ее не следует реплицировать).
На странице "Статьи" выберите узел "Определяемые пользователем функции", чтобы выбрать все определяемые пользователем функции и нажмите кнопку "Далее".
На странице "Проблемы статьи" нажмите кнопку "Далее".
На странице "Фильтрация строк таблицы" нажмите кнопку "Далее".
На странице агент моментальных снимков выберите значения по умолчанию интерпретации и 14 дней, нажмите кнопку "Далее".
Возможно, потребуется создать учетную запись домена для агента SQL. Выполните действия, описанные в статье "Настройка имени входа SQL для учетной записи домена CONTOSO\sqlagent ", чтобы создать имя входа SQL для этого нового пользователя AD и назначить определенные разрешения.На странице "Безопасность агента" нажмите кнопку "Параметры безопасности" и введите имя пользователя и пароль учетной записи домена (а не GMSA), созданную для агента SQL, и нажмите кнопку "ОК". Нажмите кнопку Далее.
На странице "Действия мастера" нажмите кнопку "Далее".
На странице "Завершение работы мастера" введите имя публикации и нажмите кнопку "Готово".
После создания публикации вы увидите состояние успешного выполнения. Нажмите кнопку Закрыть.
Вернитесь в SQL Server Management Studio, щелкните правой кнопкой мыши новую публикацию и нажмите кнопку "Запустить монитор репликации".
Создание параметров подписки на реплике SQL Server
Убедитесь, что вы создали параметры издателя на исходном СЕРВЕРе SQL Server, как описано выше, и выполните следующую процедуру:
На реплике SQL Server в среде SQL Server Management Studio в разделе "Репликация" щелкните правой кнопкой мыши локальные подписки и выберите новую подписку....
На странице мастера создания подписки нажмите кнопку "Далее".
На странице публикации выберите издателя из раскрывающегося списка. Разверните AdfsConfigurationV3 и выберите имя публикации, созданной выше, и нажмите кнопку "Далее".
На странице агент слияния расположение выберите "Запустить каждый агент" на подписчике (подписки по запросу) (по умолчанию) и нажмите кнопку "Далее".
Это вместе с приведенным ниже типом подписки определяет логику разрешения конфликтов. (Дополнительные сведения см. в разделе Обнаружение и разрешение конфликтов репликации слиянием.На странице "Подписчики" выберите AdfsConfigurationV3 в качестве базы данных подписчика и нажмите кнопку "Далее".
На странице безопасности агент слияния щелкните ... и введите имя пользователя и пароль учетной записи домена (а не GMSA), созданной для агента SQL с помощью многоточия и нажмите кнопку "Далее".
В расписании синхронизации нажмите кнопку "Непрерывно выполнить" и нажмите кнопку "Далее".
При инициализации подписок нажмите кнопку "Далее".
В разделе "Тип подписки" выберите "Клиент " и нажмите кнопку "Далее".
Последствия этого описаны здесь и здесь. По сути, мы принимаем простое "первое для издателя побед" разрешение конфликтов, и нам не нужно повторно публиковать другим подписчикам.
На странице "Действия мастера" убедитесь, что установлен флажок "Создать подписку" и нажмите кнопку "Далее".
На странице " Завершение работы мастера" нажмите кнопку "Готово".
После завершения процесса создания подписки вы увидите успешное выполнение. Нажмите кнопку Закрыть.
Проверка процесса инициализации и репликации
На основном сервере SQL Server щелкните правой кнопкой мыши узел репликации и нажмите кнопку "Запустить монитор репликации".
В мониторе репликации щелкните публикацию.
На вкладке "Все подписки" щелкните правой кнопкой мыши и просмотрите сведения.
Вы должны увидеть множество записей в разделе "Действия " для начальной репликации.
Кроме того, вы можете просмотреть узел агент SQL Server\Jobs, чтобы просмотреть задания, запланированные для выполнения операций публикации или подписки. Отображаются только локальные задания, поэтому обязательно проверьте издателя и подписчика для устранения неполадок. Щелкните правой кнопкой мыши задание и выберите "Просмотреть журнал " для просмотра журнала выполнения и результатов.
Настройка имени входа SQL для учетной записи домена CONTOSO\sqlagent
Создайте новое имя входа на первичном и реплике SQL Server с именем CONTOSO\sqlagent (имя нового пользователя домена, созданного и настроенного на странице "Безопасность агента" в описанных выше процедурах).
В SQL Server щелкните правой кнопкой мыши созданное имя входа и выберите пункт "Свойства", а затем на вкладке "Сопоставление пользователей" сопоставите это имя с базами данных AdfsConfiguration и AdfsArtifact с общедоступными и db_genevaservice ролями. Кроме того, сопоставляйте это имя входа с базой данных распространителя и добавьте db_owner роль для таблиц распространения и adfsconfiguration. Это применимо как к основному, так и к реплике SQL Server. Дополнительные сведения см. в статье Replication Agent Security Model.
Предоставьте соответствующим учетным записям домена разрешения на чтение и запись для общей папки, настроенной в качестве распространителя. Убедитесь, что вы устанавливаете разрешения на чтение и запись как в разрешениях общего ресурса, так и в локальных файлах.
Настройка узлов 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.