Обновление базы данных сервера отчетов

База данных сервера отчетов обеспечивает хранение одного или нескольких экземпляров сервера отчетов. Схема базы данных сервера отчетов с каждым новым выпуском служб Reporting Services может меняться, поэтому версия базы данных должна совпадать с версией используемого экземпляра сервера отчетов. В большинстве случаев обновление базы данных сервера отчетов может быть выполнено автоматически, без необходимости выполнения каких-либо действий со стороны пользователя.

Собственный режим. В собственном режиме Reporting Services база данных сервера отчетов на самом деле состоит из двух баз данных с именами по умолчанию: ReportServer и ReportServerTempDB.

Режим SharePoint: в режиме интеграции служб SQL Server 2016 Reporting Services с SharePoint база данных сервера отчетов фактически является коллекцией баз данных, созданных для каждого экземпляра приложения службы Reporting Services.

Способы обновления базы данных сервера отчетов в собственном режиме

В следующем списке приведены условия, при соблюдении которых происходит обновление базы данных сервера отчетов.

  • Программа установки SQL Server обновит одиночный экземпляр сервера отчетов. Схема базы данных сервера отчетов будет автоматически обновлена, после того как служба запустится и сервер отчетов определит, что версия схемы базы данных не совпадает с версией сервера.

    При запуске службы сервер отчетов проверяет версию схемы базы данных, чтобы определить, соответствует ли она версии сервера. Если у схемы базы данных более старая версия, то она будет автоматически обновлена до версии, необходимой серверу отчетов. Функция автоматического обновления особенно полезна при восстановлении из резервной копии или подключении старой базы данных сервера отчетов. В файл журнала трассировки сервера отчетов выводится сообщение об обновлении версии схемы базы данных.

  • Диспетчер конфигурации служб Reporting Services обновляет локальную или удаленную базу данных сервера отчетов, если для использования с более новым экземпляром сервера отчетов выбрана предыдущая версия. В этом случае необходимо подтвердить выполнение обновления, прежде чем оно будет осуществлено.

    В диспетчере конфигурации служб Reporting Services больше нет отдельной кнопки "Обновить" и скрипта обновления. Эти функции устарели, начиная с SQL Server 2008 (10.0.x) из-за функции автоматического обновления службы сервера отчетов.

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

Обновление схемы, метаданных и содержимого сервера отчетов

База данных сервера отчетов обновляется в три этапа.

  1. Схема обновляется автоматически после установки и запуска службы или же после выбора базы данных сервера отчетов SQL Server в собственном режиме в диспетчере конфигурации служб Reporting Services, который имеет более старую версию. Кроме этого, служба сервера отчетов осуществляет проверку версии базы данных во время запуска. Если сервер отчетов соединяется с базой данных предыдущей версии, то он обновляет ее во время своего запуска.

  2. Дескрипторы безопасности обновляются при первом использовании базы данных сервера отчетов после обновления схемы.

  3. Опубликованные отчеты и скомпилированные моментальные снимки отчетов обновляются при первом использовании. Дополнительные сведения см. в разделе Upgrade Reports.

Кроме базы данных сервера отчетов при работе сервера отчетов используется временная база данных. Она обновляется автоматически при обновлении базы данных сервера отчетов.

Разрешения, необходимые для обновления базы данных сервера отчетов

При обновлении установки служб Reporting Services, включающем базу данных сервера отчетов, может появиться сообщение об ошибке, если обновление базы данных выполняется с недостаточными разрешениями. По умолчанию программа установки для соединения с удаленным экземпляром SQL Server и обновления схемы пользуется токеном безопасности пользователя, запустившего программу установки. База данных будет успешно обновлена, если у пользователя есть разрешения sysadmin в SQL Server на доступ к серверу базы данных с базами данных сервера отчетов. Аналогичным образом при запуске программы установки из командной строки с указанием аргументов RSUPGRADEDATABASEACCOUNT и RSUPGRADEPASSWORD с учетными данными, обладающими разрешением sysadmin на изменение схемы на удаленном компьютере, обновление данных также произойдет успешно.

Однако, если разрешение sysadmin на изменение схемы на удаленном компьютере отсутствуют, в соединении будет отказано со следующей ошибкой.

"Setup was not able to upgrade the report server database schema. You must update the database schema manually after setup is finished. To update the schema, run the Report Server Configuration Manager, open the Database Setup page, re-select the database, and click Apply. The database will be upgraded automatically."

В этот момент произойдет обновление программных файлов сервера отчетов, однако версия формата базы данных сервера отчетов останется прежней. Сервер отчетов будет недоступен до тех пор, пока процесс обновления не будет завершен (для этого базу данных необходимо обновить вручную).

Обновление базы данных в собственном режиме с помощью скриптов

Для обновления базы данных сервера отчетов можно использовать скрипты WMI. Дополнительные сведения см. в статье Метод GenerateDatabaseUpgradeScript (WMI MSReportServer_ConfigurationSetting).

Дальнейшие шаги

Диспетчер конфигурации сервера отчетов
Создание базы данных сервера отчетов
Обновление и перенос служб Reporting Services
Перенос установки служб Reporting Services

Остались вопросы? Посетите форум служб Reporting Services.