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


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

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

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

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

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

Примечание

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

Перед началом работы

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

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

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

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

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

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

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

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

  1. Запустите SQL Server Management Studio и установите соединение с экземпляром ядра СУБД, на котором находятся базы данных сервера отчетов.

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

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

  4. Откройте Master.

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

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

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

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

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

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

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

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

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

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

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

  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. Нажмите кнопку OK.

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

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

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

  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. Нажмите кнопку OK.

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

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

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

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

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

    1. syscategories

    2. sysjobs

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

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

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

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

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

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

Если вы обновляете ядро СУБД до SQL Server 2019 (15.x), его можно обновить до или после перемещения базы данных.

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

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

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

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

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

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

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

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

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

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

  7. Щелкните Далее.

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

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

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

  11. Щелкните Восстановить.

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

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

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

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

См. также:

Перемещение баз данных сервера отчетов на другой компьютер (собственный режим служб SSRS)Reporting Services Configuration Manager (собственный режим)Создание базы данных сервера отчетов в собственном режиме (SSRS Configuration Manager)Резервное копирование и восстановление Reporting Services Ключи шифрования