Развертывание скриптов и административные задачи

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

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

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

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

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

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

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

Задача Подход
Установите службы Reporting Services. Вы можете запустить программу установки из командной строки, чтобы выполнить автоматическую установку.

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

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

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

Если вы хотите избежать написания кода, можно создать базу данных вручную, выполнив средство настройки служб Reporting Services. Дополнительные сведения см. в статье "Создание базы данных сервера отчетов в собственном режиме" (SSRS Configuration Manager).
Настройте подключение к базе данных сервера отчетов. Если вы изменяете строку подключения, учетную запись или пароль или тип проверки подлинности, запустите программу rsconfig , чтобы настроить подключение. Дополнительные сведения см. в разделе "Настройка подключения к базе данных сервера отчетов" (SSRS Configuration Manager) и служебной программы rsconfig (SSRS).

Нельзя использовать rsconfig.exe для создания или обновления базы данных. База данных и RSExecRole уже должны существовать.
Настройте развертывание горизонтального масштабирования. Выберите один из следующих подходов для автоматизации развертывания горизонтального масштабирования:

Запустите служебную программу rskeymgmt.exe, чтобы присоединить экземпляры сервера отчетов к существующей установке. Дополнительные сведения см. в разделе "Добавление и удаление ключей шифрования" для развертывания Scale-Out (SSRS Configuration Manager).

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

Запустите программу rskeymgmt.exe, чтобы создать резервную копию ключей. Дополнительные сведения см. в разделе Резервное копирование и восстановление ключей шифрования служб Reporting Services.

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

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

Дополнительные сведения о параметрах см. в разделе "Настройка сервера отчетов для доставки электронной почты" (SSRS Configuration Manager).
Настройте учетную запись для необслуживаемого выполнения. Выберите из следующих подходов для автоматизации конфигурации учетной записи обработки без присмотра:

Запустите программу rsconfig.exe, чтобы настроить учетную запись. Дополнительные сведения см. в разделе "Настройка автоматической учетной записи выполнения" (SSRS Configuration Manager).

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

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

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

Подробный пример см. в разделе Sample Reporting Services rs.exe Script to Migrate Content between Report Servers.

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

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

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

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

  • Провайдер WMI и утилиты командной строки для 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 в веб-службу сервера отчетов. Скрипты развертывания записываются с помощью этого подхода, так как это позволяет повторно создавать пространство имен и содержимое папки сервера отчетов, а также повторно создавать безопасность на основе ролей.

  • В выпуске SQL Server 2014 появились командлеты PowerShell для интегрированного режима SharePoint. PowerShell можно использовать для настройки и администрирования интеграции SharePoint. Дополнительные сведения см. в разделе Командлеты PowerShell для служб Reporting Services в режиме интеграции с SharePoint.

Использование скриптов для переноса содержимого и папок сервера отчетов

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

Подробный пример см. в разделе Sample Reporting Services rs.exe Script to Migrate Content between Report Servers.

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

В следующем списке описаны шаги по переносу отчетов с одного сервера на другой.

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

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

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

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

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

Замечание

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

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

Использование скриптов для задания свойств сервера

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

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

Подсказка

Подробный пример см. в разделе Sample Reporting Services rs.exe Script to Migrate Content between Report Servers.

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  

См. также

Метод GenerateDatabaseCreationScript (WMI MSReportServer_ConfigurationSetting)
Метод GenerateDatabaseRightsScript (WMI MSReportServer_ConfigurationSetting)
Метод GenerateDatabaseUpgradeScript (WMI MSReportServer_ConfigurationSetting)
Установка SQL Server 2014 из командной строки
Установка сервера отчётности в режиме собственной работы Reporting Services
Сервер отчетов служб Reporting Services (собственный режим)
Служебные программы командной строки сервера отчетов (SSRS)
Планирование поддержки служб Reporting Services и браузера Power View (Службы Reporting Services 2014)
Инструменты служб отчетности