Миграция служб Reporting Services

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

  • Резервное копирование приложений и файлов конфигурации.
  • Установите новый экземпляр SQL Server 2005 параллельно с существующей установкой SQL Server 2000. Так как службы SQL Server 2000 Reporting Services всегда выполняются на экземпляре SQL Server по умолчанию, новый устанавливаемый экземпляр SQL Server 2005 должен быть настроен как именованный экземпляр.
  • Переместите базу данных сервера отчетов из экземпляра SQL Server 2000 в новый экземпляр SQL Server 2005. При перемещении базы данных в новый экземпляр компонента Database Engine необходимо вручную создать роль RSExecRole.
  • После проверки работоспособности нового экземпляра удалите службы SQL Server 2000 Reporting Services.

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

Резервное копирование файлов и данных

Перед установкой нового экземпляра служб Reporting Services не забудьте выполнить резервное копирование всех файлов в текущей установке.

  1. Создайте резервную копию симметричного ключа для базы данных сервера отчетов. Для выполнения этой операции используйте программу rskeymgmt.
  2. Создайте резервную копию базы данных сервера отчетов с помощью любого из поддерживаемых методов резервного копирования базы данных SQL Server. Дополнительные сведения приведены в указаниях по резервному копированию базы данных сервера отчетов в разделе Перемещение базы данных сервера отчетов на другой компьютер.
  3. Создайте резервную копию файлов конфигурации сервера отчетов. Необходимо создать резервные копии следующих файлов:
    1. Rsreportserver.config;
    2. Rswebapplication.config;
    3. Rssvrpolicy.config;
    4. Rsmgrpolicy.config;
    5. Reportingservicesservice.exe.config;
    6. Web.config для приложений ASP.NET сервера отчетов и диспетчера отчетов;
    7. Machine.config для ASP.NET.
  4. Создайте резервную копию настроек виртуального каталога сервера отчетов. Для резервного копирования установок пользуйтесь диспетчером служб IIS.
  5. Для сервера отчетов с высоким уровнем доступности переведите его базу данных в состояние только для чтения и измените роль RSExec ядра СУБД SQL Server так, чтобы остановить транзакции в базах данных сервера отчетов.

Установите службы SQL Server 2005 Reporting Services

Установка служб Reporting Services и пакета обновления 1 (SP1)

  1. Для установки нового экземпляра служб Reporting Services запустите программу установки SQL Server 2005.

  2. На странице «Компоненты для установки» выберите Службы Reporting Services. Если необходимо установить новый экземпляр службы Database Engine и конструктор отчетов на одном компьютере, можно также выбрать службы SQL Server Database Services, компоненты рабочей станции, электронную документацию и средства разработки.

  3. В поле «Имя экземпляра» введите новое имя для устанавливаемого экземпляра SQL Server 2005. Экземпляр по умолчанию указывать нельзя, это приведет к обновлению существующей установки вместо создания нового экземпляра сервера отчетов.

  4. В поле «Учетная запись службы» задайте учетную запись для службы Windows сервера отчетов. Дополнительные сведения об учетных записях служб см. в разделе Настройка учетных записей служб Windows.

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

  5. В параметрах установки сервера отчетов выберите параметр Установить, но не настраивать сервер. Это позволит настроить сервер отчетов после завершения программы установки.

  6. Закончите установку.

  7. При применении пакета обновления 1 (SP1) остановите все службы SQL Server 2005 (в том числе службу Windows сервера отчетов, агент SQL Server, обозреватель SQL Server и полнотекстовый поиск SQL Server).

  8. Примените пакет обновления 1 (SP1), а затем перезапустите службы.

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

Если база данных сервера отчетов перемещается в экземпляр компонента Database Engine, в котором ранее никогда не располагалась база данных сервера отчетов, необходимо создать роль RSExecRole в системных базах данных Master и MSDB. Наличие этой роли необходимо, чтобы выполнялся сценарий обновления базы данных.

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

Для поддержки запланированных операций службы 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. В строке Выполнить в столбце Предоставить установите флажок и нажмите кнопку ОК.

Повторите для каждой из оставшихся хранимых процедур. Роли 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. В строке Выбрать в столбце Предоставить установите флажок и нажмите кнопку ОК.

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

Присоединение базы данных сервера отчетов и копирование файлов конфигурации

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

Не копируйте базы данных. В процессе копирования в новый экземпляр переносятся не все параметры настройки безопасности.

Если используется новый экземпляр компонента SQL Server 2005 Database Engine, для присоединения или восстановления баз данных можно воспользоваться средой SQL Server Management Studio.

Присоединение базы данных и копирование файлов

  1. Присоедините или переместите базу данных, следуя инструкциям из раздела Перемещение базы данных сервера отчетов на другой компьютер. Если для хранения базы данных сервера отчетов используется SQL Server 2000, создайте копию базы данных для новой установки.

  2. Скопируйте установки из файла rsreportserver.config, используемого в установке SQL Server 2000, в файл rsreportserver.config новой установки SQL Server 2005 следующим образом.

    1. Скопируйте элемент InstallationID. Копирование идентификатора установки необходимо в том случае, если нужно избежать наличия двух неиспользуемых записей в таблице «Ключи» базы данных сервера отчетов. Две неиспользуемые строки являются идентификаторами установки экземпляра SQL Server 2000. Неиспользуемые строки не завершены. Во всех строках отсутствуют имя компьютера и имя экземпляра. Для экземпляра SQL Server 2000 имя компьютера и имя экземпляра не определены, в результате чего после обновления базы данных сервера отчетов в этих столбцах таблицы «Ключи» значения будут отсутствовать. Заметим, что если в записи отсутствует имя компьютера или имя экземпляра, ее нельзя удалить через программу настройки служб Reporting Services. Однако для удаления строк или для добавления отсутствующих имени компьютера или имени экземпляра можно отредактировать таблицу «Ключи». Можно также оставить в таблице неиспользуемые записи, которые не влияют на работу сервера отчетов.
    2. Скопируйте другие пользовательские установки, которые необходимо использовать в новой установке. Если вы используете пользовательские модули в вашей установке, вам может понадобиться перекомпилировать модули, перед тем как их можно будет использовать. Дополнительные сведения см. в документации по помощнику по обновлению.
  3. Если имеются пользовательские установки трассировки, скопируйте записи в файлы Web.config или Machine.config новой установки.

Настройка сервера отчетов

Настройка параметров сервера отчетов

  1. Запустите программу конфигурации служб Reporting Services и подключитесь к только что установленному экземпляру служб SQL Server 2005 Reporting Services.

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

    При создании виртуального каталога сервера отчетов удостоверение веб-службы должно быть настроено автоматически. Если эта настройка выполнена неверно, можно создать новый пул приложений для выполнения службы.

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

  3. Для остановки службы Windows сервера отчетов на странице «Состояние сервера» выберите Остановить. Этот шаг очень важен. Если служба не будет остановлена, время ожидания операции обновления базы данных может истечь до того, как схема будет полностью обновлена, в результате чего база данных останется в промежуточном состоянии.

  4. На странице установки базы данных в поле «Имя сервера» выберите экземпляр SQL Server, который содержит обновляемую базу данных сервера отчетов, и нажмите Соединить.

  5. Выберите базу данных сервера отчетов, которую необходимо использовать в установке SQL Server 2005.

  6. Нажмите кнопку Обновить. База данных сервера отчетов и временная база данных обновляются до новой версии схемы.

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

  8. На странице «Ключи шифрования» восстановите ключ, используемый для шифрования и дешифрования содержимого базы данных сервера отчетов. Это тот ключ шифрования, резервная копия которого была создана на шаге 1 подраздела «Резервные копии файлов и данных».

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

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

  11. Удалите службы SQL Server 2000 Reporting Services.

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

См. также

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

Обновление служб Reporting Services

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

База данных сервера отчетов
Обратная совместимость служб Reporting Services
Программа конфигурации служб Reporting Services

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

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