Как перенести базу данных кластера 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
Для того чтобы вам произвести перенастройку подключения к другой базе данных для служб управления правами, вам необходимо:
- Произвести настройки на новом SQL сервере в таблице DRMS_ClusterPolicies
- Произвести правку ключей реестра на серверах AD RMS
- Произвести перезапуск службы IIS на серверах AD RMS или просто перезагрузка серверов
Как видно из скриншота текущая база данных для кластера Active Directory Rights Management это сервер RMSSQL2012 и базы данных DRMS_Config_rms и DRMS_Logging_rms.
Настройка 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", чтобы сохранить все изменения.
Второй метод все поменять, это выполнить запрос к базе данных через 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 серверов
Теперь на каждом из серверов, вам необходимо поправить два ключа реестра, где так же прописывается путь до базы данных. Первая ветка:
Находим тут ключ ConfigDatabaseConnectionString и редактируем в нем путь до вашего сервера с базой данных
Далее вам необходимо перейти по пути:
Щелкаем по ней правым кликом и экспортируем ее, это нужно для того, чтобы изменить значение у ключа "PASSWORDDERIVEDKEY".
Меняем путь на ваш сервер и сохраняем файл.
Далее вам необходимо удалить существующий ключ PASSWORDDERIVEDKEY.
Далее импортируем отредактированный ключ PASSWORDDERIVEDKEY с новым значением базы данных.
Проверяем, что был импортирован правильный ключ с новым значением.
Теперь остается открыть командную строку или оболочку PowerShell от имени администратора и перезапустить службу IIS. Пишем команду:
После всех этих манипуляций ваш кластер Active Directory Rights Management должен успешно подключиться к новой базе MS SQL, не забываем произвести проверку по ссылкам из раздела "Intranet cluster URLs"
На этом у меня все, мы рассмотрели метод переноса базы данных для кластера AD RMS, с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Какой то грязный хакинг получился у Вас.
А почему не штатными методами? _ttps://www.techveze.com/backing-restoring-ad-rms/
Экспортировать/импортировать пароль и домен и БД перенести?
p.s. сюда попал — не могу сообразить, почему возникает ошибки при изменении ключа кластера AD RMS? …
Я как раз и использовал инструкцию с Microsoft, лишь ее дополнил более подробно.