Написание сценариев для задач развертывания и администрирования

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

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

Некоторые шаги требуют специального программного кода. Например, автоматизировать настройку URL-адресов для веб-службы и диспетчера отчетов можно только путем написания специального кода, который обращается к Инструментарию управления Windows (WMI) сервера отчетов. Избежать написания программного кода на этом шаге можно. Для этого примените средство настройки служб Службы Reporting Services.

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

Этот раздел описывает рекомендуемые подходы для автоматизации определенных шагов. Упомянуты несколько программ и программных интерфейсов; описания каждого предоставлены далее в разделе.

Задачи развертывания и способы их автоматизации

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

Задача

Подход

Установить службы Службы Reporting Services.

Для выполнения автоматической установки программу установки можно запустить из командной строки.

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

Настройте учетную запись службы.

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

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

Настройте URL-адреса веб-службы сервера отчетов и диспетчера отчетов.

Необходимо написать специальный программный код, обращающийся к поставщику WMI сервера отчетов. Для настройки URL-адресов не существует специальных программ командной строки или шаблонов скриптов.

Если вы хотите избежать написания кода, то URL-адреса можно настроить вручную при помощи средства настройки служб Службы Reporting Services. Дополнительные сведения см. в разделе Как настроить URL-адреса (настройка служб Reporting Services).

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

Необходимо написать специальный программный код, обращающийся к поставщику WMI сервера отчетов. Для создания баз данных сервера отчетов и роли RSExecRole не существует специальных программ командной строки или шаблонов скриптов.

Если вы хотите избежать написания кода, то базу данных можно создать вручную при помощи средства настройки служб Службы Reporting Services. Дополнительные сведения см. в разделе Как создать базу данных сервера отчетов (настройка служб Reporting Services).

Настройка соединения с базой данных сервера отчетов.

При изменении строки соединения, учетной записи или пароля, либо типа проверки подлинности следует запустить программу rsconfig для настройки соединения. Дополнительные сведения см. в разделах Настройка соединения с базой данных сервера отчетов и Программа rsconfig.

Программу rsconfig.exe нельзя использовать для создания или обновления базы данных. База данных и роль RSExecRole должны быть созданы ранее.

Настройка масштабного развертывания.

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

Резервное копирование ключей шифрования.

Для автоматизации резервного копирования ключей шифрования выберите один из следующих подходов.

Настройка электронной почты сервера отчетов.

Напишите пользовательский программный код, обращающийся к поставщику WMI служб Службы Reporting Services. Поставщик поддерживает подмножество установок конфигурации электронной почты.

Хотя файл RSReportServer.config содержит все установки, не используйте этот файл автоматически. В особенности не используйте пакетный файл для копирования файла на другой сервер отчетов. Каждый файл конфигурации содержит значения, определенные для текущего экземпляра. Эти значения не будут допустимыми на других экземплярах сервера отчетов.

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

Настройка учетной записи автоматического выполнения.

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

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

Лучший способ повторно создать существующую среду сервера отчетов — скопировать базу данных сервера отчетов в новый экземпляр сервера отчетов.

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

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

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

Инструменты и технологии для автоматизации развертывания сервера

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

  • Программа установки может запускаться в автоматическом режиме для установки и (в некоторых случаях) настройки компонентов сервера отчетов. Чтобы программа установки настроила экземпляр сервера отчетов, следует использовать параметр установки «Только файлы».

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

    Поставщик WMI служб Службы Reporting Services предоставляет классы, свойства и методы, реализующие управление всеми аспектами установки служб Службы Reporting Services, — задание учетной записи службы, настройка URL-адресов, создание и настройку базы данных сервера отчетов или настройку сервера отчетов для доставки отчетов по электронной почте. Для использования поставщика WMI необходимо написать специальный программный код или скрипт. Дополнительные сведения см. в разделе Поставщик WMI для служб Reporting Services.

    Альтернативой написанию программного кода является использование программ командной строки (rsconfig.exe и rskeymgmt.exe). Можно написать пакетный файл, запускающий эти программы. Программы могут использоваться для автоматизации не всех задач настройки.

  • Средство сервера скриптов сервера отчетов (rs.exe) может выполнять пользовательский программный код на языке Microsoft Visual Basic, предназначенный для повторного создания или перемещения существующего содержимого с одного сервера отчетов на другой. При этом подходе скрипт создается на языке Visual Basic, сохраняется в виде RSS-файла и с помощью программы rs.exe запускается на сервере отчетов. Написанный скрипт может обращаться к веб-службе сервера отчетов по протоколу SOAP. При создании скриптов развертывания данный подход позволяет повторно создавать пространство имен и содержимое папок сервера отчетов, а также политики безопасности на основе ролей.

Миграция содержимого и папок сервера отчетов с помощью скриптов

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

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

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

  1. Присвойте переменной скрипта URL-адрес исходного сервера отчетов.

  2. Воспользуйтесь методами GetItemDefinition и GetProperties для получения определения и свойств отчета.

  3. Присвойте URL-адресу значение, указывающее на целевой сервер.

  4. Воспользуйтесь методом CreateCatalogItem, передав ему свойства, возвращенные методом GetProperties, и определение отчета, возвращенное методом GetItemDefinition.

Пользуясь методами get и create, можно выполнить аналогичные шаги для переноса настроек, папок, общих источников данных и ресурсов. Дополнительные сведения о доступных методах см. в разделе Технический справочник (службы Reporting Services).

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

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

Дополнительные сведения о форматировании и выполнении файлов скриптов см. в разделе Создание сценариев с помощью веб-службы и программы rs.

Настройка свойств сервера с помощью сценариев

Можно написать сценарии, которые зададут системные свойства на сервере отчетов. Следующий скрипт Visual Basic .NET иллюстрирует один из способов установки свойств. Этот сценарий отключает элемент управления RSClientPrint ActiveX, но можно заменить значения EnableClientPrinting и False любым допустимым именем свойства и значением. Полный список свойств сервера см. в разделе Системные свойства сервера отчетов.

Чтобы использовать скрипт, сохраните его в файл с расширением RSS, а затем воспользуйтесь программой командной строки rs.exe для запуска файла на сервере отчетов. Скрипт не компилируется, поэтому необязательно иметь установку Visual Basic. В этом примере предполагается, что пользователь имеет необходимые разрешения на локальном компьютере, на котором находится сервер отчетов. Если пользователь не вошел в систему под учетной записью, имеющей необходимые разрешения, необходимо указать сведения об учетной записи с помощью дополнительных аргументов командной строки. Дополнительные сведения см. в разделе Программа rs.

Public Sub Main()
        Dim props(0) As [Property]
        Dim setProp As New [Property]
        setProp.Name = "EnableClientPrinting"
        setProp.Value = “False” 
        props(0) = setProp
        Try
            rs.SetSystemProperties(props)
        Catch ex As System.Web.Services.Protocols.SoapException
            Console.Write(ex.Detail.InnerXml)
        Catch e as Exception
            Console.Write(e.Message)
        End Try
End Sub

См. также

Справочник

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