Администрирование баз данных сервера отчетов

Изменения: 15 сентября 2007 г.

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

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

В SQL Server встроены различные средства для администрирования баз данных сервера отчетов.

  • Для создания резервных копий, перемещения и восстановления баз данных сервера отчетов используйте среду SQL Server Management Studio, команды Transact-SQL или средства командной строки для работы с базой данных. Инструкции см. в разделе Перемещение базы данных сервера отчетов на другой компьютер электронной документации по SQL Server.
  • Чтобы скопировать содержимое существующей базы данных в другую базу данных сервера отчетов, можно присоединить копию базы данных сервера отчетов и использовать ее с другим экземпляром сервера отчетов. Либо можно создать и выполнить сценарий, использующий вызовы SOAP для повторного создания содержимого сервера отчетов в новой базе данных. Используйте служебную программу rs для выполнения сценария.
  • Для управления соединениями между сервером отчетов и его базой данных и проверки, к верной ли базе данных обращается экземпляр сервера отчетов, можно воспользоваться страницей «Установка базы данных» программы настройки служб Reporting Services. Дополнительные сведения о подключении сервера отчетов к базе данных сервера отчетов см. в разделе Настройка соединения с базой данных сервера отчетов.
  • О сборе показателей текущей производительности сервера отчетов см. в разделе Запросы и отчеты по данным журнала выполнения отчета электронной документации по SQL Server.

Разрешения на вход в систему и доступ к базам данных SQL Server

Базы данных сервера отчетов используются сервером отчетов для внутренних целей. Соединения с любой из баз данных создаются веб-службой сервера отчетов и службой Windows сервера отчетов.

Чтобы задать параметры соединения, можно воспользоваться программой настройки служб Reporting Services. Можно использовать либо учетные данные служб, либо учетные данные пользователя домена, либо имя входа SQL Server. Учетная запись, выбранная для соединения, должна иметь имя входа SQL Server и роли Public и RSExecRole для баз данных сервера отчетов.

Имя входа и разрешения создаются автоматически при использовании программы настройки служб Reporting Services для настройки подключения к базе данных, обновления базы данных сервера отчетов или выполнения эквивалентных сценариев в экземпляре SQL Server, где расположена база данных.

Роль RSExecRole предоставляет разрешения для доступа к таблицам баз данных и выполнения хранимых процедур. Роль RSExecRole создается в базах данных master и msdb при создании базы данных сервера отчетов. Начиная с версии SQL Server 2005 с пакетом обновления 1 (SP1), роль RSExecRole является членом роли db_owner для баз данных сервера отчетов. Эти дополнительные разрешения дают серверу отчетов возможность дополнять схему в последующих версиях, что упростит процесс обновления.

Удаление неиспользуемых учетных записей из роли RSExecRole

Если веб-служба сервера отчетов или служба Windows настроена для запуска с другой учетной записью, новая учетная запись автоматически добавляется к роли RSExecRole. Однако все ранее добавленные и неиспользуемые учатные записи необходимо удалить вручную. Для удаления этих учетных записей выполните следующие действия в среде Management Studio.

  1. Соединитесь с экземпляром Database Engine, на котором размещается база данных сервера отчетов.
  2. Разверните Базы данных, затем ReportServer, Безопасность, Роли, Роли базы данных и дважды щелкните роль RSExecRole.
  3. Выберите учетную запись, которая больше не используется.
  4. Щелкните Удалить.

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

Имя базы данных-источника должно соответствовать правилам, определенным для Идентификаторы. Имя временной базы данных всегда совпадает с именем основной базы данных сервера отчетов, с добавлением суффикса Tempdb. Невозможно выбрать другое имя для временной базы данных.

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

«Произошла внутренняя ошибка на сервере отчетов. Дополнительные подробности см. в журнале ошибок. (rsInternalError)

Недопустимое имя объекта "ReportServerTempDB.dbo.PersistedStream"».

Причина этой ошибки заключается в том, что имя ReportServerTempdb хранится внутренне и используется хранимыми процедурами для выполнения внутренних операций. Переименование временной базы данных приведет к неправильной работе хранимых процедур.

О версиях базы данных

Службы Reporting Services не предоставляют точные сведения о версии базы данных. Но так как версия базы данных всегда синхронизирована с версией продукта, для определения факта смены версии базы данных можно пользоваться сведениями о версии продукта. Эти сведения доступны в файлах журналов, заголовках всех запросов SOAP, а также в URL-адресах сервера отчетов (например, при открытии в обозревателе адреса https://localhost/reportserver).

Включение изоляции моментальных снимков в базе данных сервера отчетов

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

Если изоляция моментальных снимков не включена намеренно, этот атрибут, возможно, был установлен другим приложением либо изоляцию моментальных снимков могла включить база данных model, в результате чего новые базы данных унаследовали этот параметр.

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

ALTER DATABASE ReportServer
SET ALLOW_SNAPSHOT_ISOLATION OFF
ALTER DATABASE ReportServerTempdb
SET ALLOW_SNAPSHOT_ISOLATION OFF
ALTER DATABASE ReportServer
SET READ_COMMITTED_SNAPSHOT OFF
ALTER DATABASE ReportServerTempDb
SET READ_COMMITTED_SNAPSHOT OFF

См. также

Основные понятия

Создание базы данных сервера отчетов
Операции резервного копирования и восстановления для служб Reporting Services
База данных сервера отчетов
Управление службами Reporting Services
Требования к базе данных сервера отчетов
Хранение зашифрованных данных сервера отчетов
Управление ключами шифрования

Другие ресурсы

Развертывание служб Reporting Services

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

15 сентября 2007 г.

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

12 декабря 2006 г.

Добавления
  • Удаление неиспользуемых учетных записей из роли RSExecRole

14 апреля 2006 г.

Добавления
  • Соглашения об именах и сведения о версиях для баз данных сервера отчетов