Как перенести базу данных кластера AD RMS

Обновлено 21.06.2020

AD RMS

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов России Pyatilistnik.org. В прошлый раз мы с вами разобрали ситуации когда на компьютере отсутствовала библиотека vcruntime140, в следствии чего не запускался ряд игр и приложений. В сегодняшней статье я хочу поговорить вот на какую тему, мы рассмотрим как производится перенос и перенастройка базы данных кластера с ролью Active Directory Rights Management Services на другой сервер. Уверен, что кому-то это будет полезно и мой опыт покажет, что это не сложно.

Постановка задачи

Когда-то давно был развернут кластер Active Directory Rights Management Services с общей базой данных на MS SQL 2012, сейчас на дворе 2020 год и требуется уже обновляться и переходить на более свежие версии SQL. Ранее я уже вам рассказывал один из кейсов по данной задаче в статье "Как обновить расположение базы данных для RDS фермы", тут все аналогично.

Тестовое окружение

  • Сервера с ролями AD RMS - RMS01 и RMS02 на базе Windows Server 2012 R2
  • Сервер MS SQL 2012 - RMSSQL2012 на базе Windows Server 2016
  • Сервер MS SQL 2016 - RMSSQL2016 на базе Windows Server 2016

 

Как изменить настройки подключения к базе данных Active Directory Rights Management Services

Для того чтобы вам произвести перенастройку подключения к другой базе данных для служб управления правами, вам необходимо:

  1. Произвести настройки на новом SQL сервере в таблице DRMS_ClusterPolicies
  2. Произвести правку ключей реестра на серверах AD RMS
  3. Произвести перезапуск службы IIS на серверах AD RMS или просто перезагрузка серверов

Как видно из скриншота текущая база данных для кластера Active Directory Rights Management это сервер RMSSQL2012 и базы данных DRMS_Config_rms и DRMS_Logging_rms.

Текущие настройки кластера Active Directory Rights Management

Настройка SQL сервера

Предполагается, что вы произвели полное резервное копирование базы данных службы aD RMS, потушили ее на прежнем месте и восстановили ее на новом SQL сервере. Далее у вас два пути редактирования базы данных DRMS_ClusterPolicies через утилиту RMS Config Editor или  SQL Server Management Studio.

Для начала я покажу, как производится редактирование через утилиту RMS Config Editor. Запускаем редактор конфигурации служб управления правами на новом SQL сервере. Выбираем сервер подключения, если запускаете на локальном, то просто оставьте "localhost". Далее выбираете базу данных "DRMS_Config" и находите там таблицу "DRMS_ClusterPolicies". Тут вам нужно поправить значения в трех полях:

  • LoggingDatabaseServer - RMSSQL2016
  • CertificationUserKeyStorageConnectionString - data source=RMSSQL2016;integrated security=SSPI;persist security info=False;packet size=4096;database=DRMS_Config_rms
  • DirectoryServicesCacheDatabase - data source=RMSSQL2016;integrated security=SSPI;persist security info=False;packet size=4096;database=DRMS_DirectoryServices_rms

Не забываем нажать кнопку "Persist", чтобы сохранить все изменения.

Редактирование подключения к базе AD RMS через RMS Config Editor

Второй метод все поменять, это выполнить запрос к базе данных через SQL Management Studio:

UPDATE [dbo].[DRMS_ClusterPolicies]
SET PolicyData = 'data source=RMSSQL2016;integrated security=SSPI;persist security info=False;packet size=4096;database=DRMS_Config_rms'
WHERE PolicyName='CertificationUserKeyStorageConnectionString'

UPDATE [dbo].[DRMS_ClusterPolicies]
SET PolicyData = 'data source=RMSSQL2016;integrated security=SSPI;persist security info=False;packet size=4096;database=DRMS_DirectoryServices_rms'
WHERE PolicyName='DirectoryServicesCacheDatabase'

UPDATE [dbo].[DRMS_ClusterPolicies]
SET PolicyData = 'RMSSQL2016'
WHERE PolicyName='LoggingDatabaseServer'

Настройка AD RMS серверов

Теперь на каждом из серверов, вам необходимо поправить два ключа реестра, где так же прописывается путь до базы данных. Первая ветка:

HKLM\Software\Microsoft\DRMS\ConnectionString

Находим тут ключ ConfigDatabaseConnectionString и редактируем в нем путь до вашего сервера с базой данных

Редактирование ветки реестра с путем до базы данных к AD RMS

Далее вам необходимо перейти по пути:

HKLM\Software\Microsoft\DRMS\KeyProtection

Щелкаем по ней правым кликом и экспортируем ее, это нужно для того, чтобы изменить значение у ключа "PASSWORDDERIVEDKEY".

Смена пути к базе данных AD RMS

Меняем путь на ваш сервер и сохраняем файл.

Смена значения у PASSWORDDERIVEDKEY

Далее вам необходимо удалить существующий ключ PASSWORDDERIVEDKEY.

Удаление записи реестра PASSWORDDERIVEDKEY

Далее импортируем отредактированный ключ PASSWORDDERIVEDKEY с новым значением базы данных.

Импорт PASSWORDDERIVEDKEY

Проверяем, что был импортирован правильный ключ с новым значением.

Успешно смененные пути к БД AD RMS

Теперь остается открыть командную строку или оболочку PowerShell от имени администратора и перезапустить службу IIS. Пишем команду:

iisreset

Перезапуск службы IIS

Проделываем те же изменения реестра и перезапуск IIS на втором узле кластера RMS

После всех этих манипуляций ваш кластер Active Directory Rights Management должен успешно подключиться к новой базе MS SQL, не забываем произвести проверку по ссылкам из раздела "Intranet cluster URLs"

Проверка кластера Active Directory Rights Management

На этом у меня все, мы рассмотрели метод переноса базы данных для кластера AD RMS, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Автор - Сёмин Иван

2 Responses to Как перенести базу данных кластера AD RMS

  1. SecretMan:

    Какой то грязный хакинг получился у Вас.
    А почему не штатными методами? _ttps://www.techveze.com/backing-restoring-ad-rms/
    Экспортировать/импортировать пароль и домен и БД перенести?
    p.s. сюда попал — не могу сообразить, почему возникает ошибки при изменении ключа кластера AD RMS? …

  2. Иван Семин:

    Я как раз и использовал инструкцию с Microsoft, лишь ее дополнил более подробно.

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

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