Поделиться через


Создание роли RSExecRole

Службы Службы Reporting Services используют стандартную роль базы данных с именем RSExecRole, чтобы предоставить серверу отчетов разрешения в базе данных сервера отчетов. Роль RSExecRole создается в базе данных сервера отчетов автоматически. Как правило, никогда не следует изменять ее или назначать другим пользователям. Однако при перемещении базы данных сервера отчетов на новый или другой компонент SQL Server Компонент Database Engine необходимо создать повторно эту роль в системных базах данных Master и MSDB.

С помощью следующих инструкций выполняются следующие шаги.

  • Создание и предоставление роли RSExecRole в системной базе данных Master.

  • Создание и предоставление роли RSExecRole в системной базе данных MSDB.

ПримечаниеПримечание

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

Перед началом

  • Создайте резервную копию ключей шифрования, чтобы их можно было восстановить после перемещения базы данных. Этот шаг не влияет напрямую на возможность создавать и предоставлять роль RSExecRole, но резервная копия ключей необходима, чтобы проверить работу. Дополнительные сведения см. в разделе Резервное копирование и восстановление ключей шифрования служб Reporting Services (собственный режим SSRS).

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

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

  • Присоединяет базы данных reportservertempdb и reportserver. Не требуется присоединять базы данных, чтобы создать собственно роль, но они должны быть присоединены, прежде чем удастся проверить работу.

Инструкции для создания роли RSExecRole вручную предназначены для использования в контексте миграции установки сервера отчетов. Важные задачи, такие как резервное копирование и перемещение базы данных сервера отчетов, не рассматриваются в данном разделе, но описаны в документации по компоненту Database Engine.

Создание роли RSExecRole в базе данных master

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

Создание роли RSExecRole в системной базе данных master с помощью среды Management Studio

  1. Запустите среду SQL ServerСреда Management Studio и подключитесь к экземпляру компонента Компонент Database Engine, на котором размещается база данных сервера отчетов.

  2. Откройте узел Базы данных.

  3. Откройте узел Системные базы данных.

  4. Откройте узел master.

  5. Откройте Безопасность.

  6. Откройте Роли.

  7. Щелкните правой кнопкой мыши Роли базы данных и выберите пункт Создать роль базы данных. Отображается страница «Общие».

  8. В поле Имя роли введите RSExecRole.

  9. В поле Владелец введите DBO.

  10. Щелкните Защищаемые объекты.

  11. Нажмите кнопку Поиск. Отображается диалоговое окно Добавление объектов. Параметр Определенные объекты выбран по умолчанию.

  12. Нажмите кнопку ОК. Появится диалоговое окно Выбор объектов.

  13. Щелкните Типы объектов.

  14. Щелкните Расширенные хранимые процедуры.

  15. Нажмите кнопку ОК.

  16. Нажмите кнопку Обзор.

  17. Прокрутите список расширенных хранимых процедур и выберите следующие:

    1. xp_sqlagent_enum_jobs

    2. xp_sqlagent_is_starting

    3. xp_sqlagent_notify

  18. Нажмите кнопку ОК, а затем еще раз кнопку ОК.

  19. В строке Выполнить в столбце Предоставить установите флажок и нажмите кнопку ОК.

  20. Повторите действия для каждой оставшейся хранимой процедуры. Роль RSExecRole должна иметь разрешения EXECUTE для всех трех хранимых процедур.

Страница свойств ролей базы данных

Создание роли RSExecRole в базе данных msdb

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

Создание роли RSExecRole в системной базе данных msdb

  1. Повторите аналогичные шаги, чтобы предоставить разрешения хранимым процедурам и таблицам в базе данных msdb. Чтобы упростить шаги, обрабатывайте хранимые процедуры и таблицы отдельно.

  2. Откройте узел MSDB.

  3. Откройте Безопасность.

  4. Откройте Роли.

  5. Щелкните правой кнопкой мыши Роли базы данных и выберите пункт Создать роль базы данных. Отображается страница «Общие».

  6. В поле «Имя роли» введите RSExecRole.

  7. В поле «Владелец» введите DBO.

  8. Щелкните Защищаемые объекты.

  9. Нажмите кнопку Добавить. Отображается диалоговое окно Добавление объектов. Параметр Выбрать объекты выбран по умолчанию.

  10. Нажмите кнопку ОК.

  11. Щелкните Типы объектов.

  12. Щелкните Хранимые процедуры.

  13. Нажмите кнопку ОК.

  14. Нажмите кнопку Обзор.

  15. Прокрутите список объектов и выберите следующие:

    1. sp_add_category

    2. sp_add_job

    3. sp_add_jobschedule

    4. sp_add_jobserver

    5. sp_add_jobstep

    6. sp_delete_job

    7. sp_help_category

    8. sp_help_job

    9. sp_help_jobschedule

    10. sp_verify_job_identifiers

  16. Нажмите кнопку ОК, а затем еще раз кнопку ОК.

  17. Выберите первую хранимую процедуру: sp_add_category.

  18. В строке Выполнить в столбце Предоставить установите флажок и нажмите кнопку ОК.

  19. Повторите действия для каждой оставшейся хранимой процедуры. Роли RSExecRole должны быть предоставлены разрешения EXECUTE для всех десяти хранимых процедур.

  20. На вкладке «Защищаемые объекты» повторно нажмите кнопку Добавить. Отображается диалоговое окно Добавление объектов. Параметр Выбрать объекты выбран по умолчанию.

  21. Нажмите кнопку ОК.

  22. Щелкните Типы объектов.

  23. Щелкните Таблицы.

  24. Нажмите кнопку ОК.

  25. Нажмите кнопку Обзор.

  26. Прокрутите список объектов и выберите следующие:

    1. syscategories

    2. sysjobs

  27. Нажмите кнопку ОК, а затем еще раз кнопку ОК.

  28. Выберите первую таблицу: syscategories.

  29. В строке Выбрать в столбце Предоставить установите флажок и нажмите кнопку ОК.

  30. Повторите для таблицы sysjobs. Роли RSExecRole должны быть предоставлены разрешения SELECT для обеих таблиц.

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

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

Если компонент Компонент Database Engine обновляется до SQL Server 2012, можно обновить его до или после перемещения базы данных.

База данных сервера отчетов обновляется автоматически до уровня SQL Server 2012 при подключении к ней сервера отчетов. Для обновления этой базы данных не требуется никаких конкретных шагов.

Восстановление ключей шифрования и проверка проделанной работы

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

Проверка работоспособности сервера отчетов после перемещения базы данных

  1. Запустите программу настройки служб Reporting Services и подключитесь к серверу отчетов.

  2. Щелкните База данных.

  3. Нажмите кнопку Изменить базу данных.

  4. Щелкните Выбрать существующую базу данных сервера отчетов.

  5. Введите имя экземпляра сервера компонента Database Engine. Если базы данных сервера отчетов подключены к именованному экземпляру, необходимо ввести имя экземпляра в следующем формате: <имя_сервера>\<имя_экземпляра>.

  6. Нажмите кнопку Проверить соединение.

  7. Нажмите кнопку Далее.

  8. На странице «База данных» выберите базу данных сервера отчетов.

  9. Нажмите кнопку Далее, чтобы завершить работу мастера.

  10. Щелкните Ключи шифрования.

  11. Нажмите кнопку Восстановить.

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

  13. Введите пароль и нажмите кнопку ОК.

  14. Нажмите кнопку URL-адрес диспетчера отчетов.

  15. Щелкните ссылку, чтобы открыть диспетчер отчетов. Будут отображены элементы сервера отчетов из базы данных сервера отчетов.

См. также

Задания

Создание базы данных сервера отчетов, работающего в собственном режиме (службы Reporting Services)

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

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

Резервное копирование и восстановление ключей шифрования служб Reporting Services (собственный режим SSRS)

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

How to: Start Reporting Services Configuration Manager