Перенос экземпляров SQL Server может быть сложной задачей. При переносе SQL Server Reporting Services (SSRS) с одного экземпляра на другой, требуется выполнить несколько шагов, чтобы обеспечить успешный перенос. В этом руководстве мы расскажем вам о процессе переноса SSRS с экземпляра SQL Server 2014 на экземпляр SQL Server 2016.
Прежде чем мы начнем, важно отметить, что это руководство также должно работать для SQL Server 2012 и SQL Server 2017, хотя оно не было протестировано. Кроме того, мы предполагаем, что все необходимые безопасность, пользовательские базы данных и другие объекты уже были перенесены с экземпляра 2014 на экземпляр 2016.
Создание резервных копий ключей шифрования на исходном экземпляре
Первый шаг в процессе переноса – создание резервных копий ключей шифрования на исходном экземпляре. Это можно сделать с помощью менеджера конфигурации служб отчетов. Просто выберите “Encryption Keys” в левой панели, нажмите кнопку “Backup” в основной панели и укажите путь для сохранения файла вместе с паролем.
Создание резервных копий баз данных ReportServer и ReportServerTempDB на исходном экземпляре
Далее рекомендуется создать резервные копии баз данных ReportServer и ReportServerTempDB на исходном экземпляре. Microsoft рекомендует изменить оба базы данных на режим полного восстановления и выполнить полное и журнальное резервное копирование обеих баз данных с использованием T-SQL. В качестве альтернативы, вы можете использовать мастер резервного копирования или отсоединить и присоединить базы данных, если вы можете позволить себе простой.
Создание роли RSExecRole на новом экземпляре
Для обеспечения правильной функциональности SSRS на новом экземпляре необходимо создать роль RSExecRole. Это можно сделать, перейдя в Databases -> System Databases -> master -> Security -> Roles в SQL Server Management Studio (SSMS) на новом экземпляре. Щелкните правой кнопкой мыши на “Database Roles” и выберите “New Database Role…”. Введите “RSExecRole” для имени роли и “DBO” для владельца. Затем щелкните “Securables” в левой панели, нажмите “Search…”, выберите “Extended stored procedures” в разделе “Object Types” и выберите необходимые хранимые процедуры. Предоставьте разрешение “Execute” для каждой хранимой процедуры и нажмите “OK”. Повторите этот процесс для базы данных msdb.
Восстановление баз данных
После создания необходимых ролей следующим шагом является восстановление баз данных ReportServer и ReportServerTempDB на новом экземпляре с использованием обычных методов T-SQL. Важно отметить, что имена баз данных должны оставаться прежними, чтобы избежать сбоев при переносе.
Настройка SSRS на новом экземпляре
После восстановления баз данных пришло время настроить SSRS на новом экземпляре. Это можно сделать с помощью менеджера конфигурации служб отчетов. Подключитесь к новому экземпляру, выберите соответствующие параметры для учетной записи службы, URL веб-сервиса, базы данных, URL веб-портала, настроек электронной почты, учетной записи выполнения и ключей шифрования. Внесите все необходимые изменения и после каждого шага нажмите “Apply”. Наконец, перезапустите службы SSRS.
Завершающие шаги
После завершения настройки важно проверить записи в таблице dbo.Key в базе данных ReportServer. Выполните запрос “SELECT * FROM dbo.Keys” и убедитесь, что в таблице есть только две записи – одна для текущего экземпляра и NULL-запись. Если старый экземпляр указан, удалите эту запись. Кроме того, рекомендуется проверить журналы на наличие ошибок и убедиться, что все отчеты работают должным образом.
Вот и все! Вы успешно перенесли SQL Server Reporting Services с экземпляра SQL Server 2014 на экземпляр SQL Server 2016. Все отчеты, расписания и разрешения должны быть сохранены, и служба обработает все необходимые обновления до текущей версии.
Спасибо за прочтение этого руководства по переносу SQL Server Reporting Services. Мы надеемся, что вы нашли его полезным и информативным. Если у вас возникли вопросы или вам нужна дополнительная помощь, не стесняйтесь обращаться к нам.