На прошлой неделе, в рамках своей работы, мне пришлось перенести базы данных и службы отчетов с SQL Server 2005 на SQL Server 2014. Многие из вас, возможно, уже знают, как перенести базы данных с SQL Server 2005 на SQL Server 2014, но в этой статье я сосредоточусь на миграции служб отчетов.
Прежде чем мы начнем, есть несколько предварительных требований. Нам нужно установить SQL Server 2014 с настроенными службами отчетов на сервере, с которого мы будем переносить с базы данных. В этом сценарии мы рассмотрим исходный сервер как СЕРВЕР А, а целевой сервер как СЕРВЕР Б. Службы отчетов уже установлены и настроены на обоих серверах, и отчеты также настроены и опубликованы на СЕРВЕРЕ А, которые мы должны перенести на СЕРВЕР Б.
Процесс миграции можно разделить на три фазы:
Фаза 1: Резервное копирование на уровне источника (СЕРВЕР А)
Для начала миграции нам нужно создать резервные копии двух баз данных: “Report Server” и “Report ServertempDB”. Используя SQL Server Management Studio (SSMS), щелкните правой кнопкой мыши на Report Server, выберите Task, затем Backup. Укажите путь и имя файла для резервной копии. Повторите тот же процесс для Report ServertempDB.
В дополнение к резервному копированию баз данных, нам также нужно создать резервную копию ключа шифрования с сервера отчетов. Откройте “Менеджер конфигурации служб отчетов” и подключитесь к экземпляру, где он настроен. Выберите вкладку ключа шифрования и выберите опцию “Backup”. Введите пароль для файла ключа и укажите имя и расположение для резервной копии.
После получения резервных копий баз данных и файла ключа мы можем перейти к следующей фазе.
Фаза 2: Восстановление на уровне назначения (СЕРВЕР Б)
На этой фазе нам нужно восстановить резервные копии баз данных на СЕРВЕРЕ Б. Поскольку службы отчетов уже настроены на этом сервере, нам нужно будет перезаписать существующие базы данных. Щелкните на Report Server, выберите Task, затем Restore и выберите опцию базы данных. Укажите файл резервной копии с СЕРВЕРА А. Повторите тот же процесс для Report ServertempDB.
После восстановления баз данных нам также нужно восстановить файл ключа. Откройте менеджер конфигурации служб отчетов на СЕРВЕРЕ Б и выберите вкладку Ключи шифрования. Выберите опцию “Восстановить” и укажите данные для файла ключа. Используйте тот же пароль, который использовался в процессе резервного копирования.
На этом этапе нам нужно внести некоторые изменения в сервер отчетов. Выполните следующий запрос в SSMS на СЕРВЕРЕ Б: “SELECT * FROM [ReportServer].[dbo].[Keys]”. Вы увидите две записи, одну для СЕРВЕРА А и одну для СЕРВЕРА Б. Удалите запись для СЕРВЕРА А, чтобы завершить вторую фазу миграции.
Фаза 3: Переконфигурация отчетов на СЕРВЕРЕ Б
В “Менеджере конфигурации служб отчетов” выберите вкладку URL менеджера отчетов. Здесь вы найдете URL для управления отчетами. Этот URL имеет формат Имя_хоста:порт/reports. Щелкните по этому URL, чтобы открыть новую вкладку в Internet Explorer или откройте IE и введите URL вручную. Вы увидите домашнюю страницу Менеджера отчетов.
Поскольку мы перенесли с СЕРВЕРА А на СЕРВЕР Б, домашняя страница будет выглядеть точно так же, как домашняя страница СЕРВЕРА А. Выберите значок Источник данных, так как нам нужно внести изменения там. Вы увидите все источники данных, и в этом случае есть только один общий источник данных. Щелкните на общем источнике данных, чтобы открыть его свойства.
В окне свойств вы найдете данные СЕРВЕРА А, включая строку подключения и учетные данные. Замените эти данные на данные СЕРВЕРА Б. Проверьте подключение, чтобы убедиться, что все настроено правильно. Если тест прошел успешно, примените изменения.
Следуя этим шагам, вы успешно перенесли службы отчетов на новый сервер. Получите доступ к URL службы отчетов, и вы увидите все отчеты. Нет необходимости переносить какие-либо файлы RDL или развертывать их на СЕРВЕРЕ Б. Просто следуйте этим шагам, и все ваши отчеты будут успешно перенесены на новый сервер.
Спасибо за чтение и наслаждайтесь вашими перенесенными службами отчетов!