Написание скриптов для задач развертывания и администрирования
Службы Reporting Services поддерживают использование сценариев для автоматизации стандартных задач по установке, развертыванию и администрированию. Развертывание сервера отчетов является многошаговым процессом. Чтобы настроить развертывание, необходимо использовать несколько средств и процессов. Для автоматизации всех задач не существует единой программы или единого подхода.
Не все шаги следует автоматизировать. В некоторых случаях выполнение шага вручную или с помощью графического средства является самым простым и эффективным подходом. Например, если требуется развернуть большое количество отчетов и моделей, проще скопировать базу данных сервера отчетов, чем писать программный код, который воссоздаст среду сервера отчетов.
Некоторые шаги требуют специального программного кода. Например, автоматизировать настройку URL-адресов для веб-службы и диспетчера отчетов можно только путем написания специального кода, который обращается к Инструментарию управления Windows (WMI) сервера отчетов. Избежать написания программного кода на этом шаге можно. Для этого примените средство настройки служб Службы Reporting Services .
Чтобы выполнить скрипт, настраивающий сервер отчетов, необходимо иметь права локального администратора на настраиваемом компьютере. Дополнительные сведения о подготовке сервера отчетов для удаленного администрирования см. в разделе Настройка сервера отчетов для удаленного администрирования.
Этот раздел описывает рекомендуемые подходы для автоматизации определенных шагов. Упомянуты несколько программ и программных интерфейсов; описания каждого предоставлены далее в разделе.
Задачи развертывания и способы их автоматизации
В следующей таблице обобщены задачи по установке и настройке сервера отчетов, необходимые для его развертывания. Эту таблицу можно использовать для сверки конкретной задачи с подходом, позволяющим ее автоматизировать или выполнить полностью автоматически.
Задача | Подход |
---|---|
Установить службы Службы Reporting Services. | Для выполнения автоматической установки программу установки можно запустить из командной строки. Программу установки можно использовать как для установки, так и для настройки сервера отчетов, но только в случае, если указаны параметры конфигурации по умолчанию и система соответствует всем требованиям для этого типа установки. Если установка конфигурации по умолчанию невозможна, необходимо установить только файлы. |
Настройте учетную запись службы. | Начальная конфигурация этой учетной записи службы выполняется программой установки. Чтобы автоматизировать сделанные в учетной записи службы изменения как задачу, которая будет выполнена после установки, необходимо записать пользовательский код, выполняющий вызовы к поставщику WMI сервера отчетов. Для программной настройки учетной записи службы не существует специальных программ командной строки или шаблонов скриптов. Если автоматизировать этот шаг путем создания программного кода невозможно, то учетную запись можно настроить вручную при помощи средства настройки служб Службы Reporting Services . Дополнительные сведения см. в статье Настройка учетной записи службы (SSRS Configuration Manager). |
Настройте URL-адреса веб-службы сервера отчетов и диспетчера отчетов. | Необходимо записать специальный программный код, обращающийся к поставщику WMI сервера отчетов. Для настройки URL-адресов не существует специальных программ командной строки или шаблонов скриптов. Если вы хотите избежать написания кода, то URL-адреса можно настроить вручную при помощи средства настройки служб Службы Reporting Services . Дополнительные сведения см. в статье Настройка URL-адреса (SSRS Configuration Manager). |
Создание базы данных сервера отчетов. | Необходимо записать специальный программный код, обращающийся к поставщику WMI сервера отчетов. Для создания баз данных сервера отчетов и роли RSExecRole не существует специальных программ командной строки или шаблонов скриптов. Если вы хотите избежать написания кода, то базу данных можно создать вручную при помощи средства настройки служб Службы Reporting Services . Дополнительные сведения см. в статье Создание базы данных сервера отчетов в собственном режиме (SSRS Configuration Manager). |
Настройка подключения к базе данных сервера отчетов. | При изменении строки подключения, учетной записи, пароля или типа проверки подлинности следует запустить программу rsconfig для настройки соединения. Дополнительные сведения см. в разделах Настройка подключения к базе данных сервера отчетов (SSRS Configuration Manager) и служебной программы rsconfig (SSRS). Программу rsconfig.exe нельзя использовать для создания или обновления базы данных. База данных и роль RSExecRole должны быть созданы ранее. |
Настройка масштабного развертывания. | Для настройки масштабного развертывания выберите один из следующих подходов. Для соединения экземпляров сервера отчетов с существующим экземпляром запустите программу rskeymgmt.exe. Дополнительные сведения см. в статье Добавление и удаление ключей шифрования для развертывания Scale-Out (Configuration Manager SSRS). Напишите специальный программный код, обращающийся к поставщику WMI сервера отчетов. |
Резервное копирование ключей шифрования. | Для автоматизации резервного копирования ключей шифрования выберите один из следующих подходов. Для создания резервной копии ключей шифрования запустите программу rskeymgmt.exe. Дополнительные сведения см. в разделе Резервное копирование и восстановление ключей шифрования служб Reporting Services. Напишите специальный программный код, обращающийся к поставщику WMI сервера отчетов. |
Настройка электронной почты сервера отчетов. | Напишите пользовательский программный код, обращающийся к поставщику WMI служб Службы Reporting Services . Поставщик поддерживает подмножество установок конфигурации электронной почты. Хотя файл RSReportServer.config содержит все установки, не используйте этот файл автоматически. В особенности не используйте пакетный файл для копирования файла на другой сервер отчетов. Каждый файл конфигурации содержит значения, определенные для текущего экземпляра. Эти значения не будут допустимыми на других экземплярах сервера отчетов. См. дополнительные сведения о настройке сервера отчетов для работы с электронной почтой (SSRS Configuration Manager). |
Настройка учетной записи автоматического выполнения. | Для автоматизации настройки учетной записи автоматического выполнения выберите один из следующих подходов. Запустите программу rsconfig.exe для настройки учетной записи. Дополнительные сведения см. в статье Настройка учетной записи автоматического выполнения (SSRS Configuration Manager). Напишите специальный программный код, обращающийся к поставщику WMI сервера отчетов. |
Развертывание существующего содержимого на другом сервере отчетов, включая иерархию папок, назначение ролей, отчеты, подписки, расписания, источники данных и ресурсы. | Лучший способ повторно создать существующую среду сервера отчетов — скопировать базу данных сервера отчетов в новый экземпляр сервера отчетов. Альтернативный подход заключается в написании специального кода, который программным путем заново создает существующее содержимое сервера отчетов. Однако учтите, что подписки, моментальные снимки отчетов и журнал отчетов невозможно создать повторно программным способом. В некоторых случаях развертывание может выиграть от применения обоих методов (то есть можно восстановить базу данных сервера отчетов, а затем записать программный код, изменяющий ее для конкретного экземпляра). Подробный пример см. в разделе Sample Reporting Services rs.exe Script to Migrate Content between Report Servers. Дополнительные сведения о перемещении базы данных сервера отчетов см. в разделе Перемещение баз данных сервера отчетов на другой компьютер (собственный режим служб SSRS). Дополнительные сведения о создании среды сервера отчетов программным способом см. в подразделе «Миграция содержимого и папок сервера отчетов с помощью скрипта» этого раздела. |
Инструменты и технологии для автоматизации развертывания сервера
В следующем списке обобщаются программы и интерфейсы, которые могут использоваться для автоматизации задач развертывания и обслуживания.
Программа установки может запускаться в автоматическом режиме для установки и (в некоторых случаях) настройки компонентов сервера отчетов. Чтобы программа установки настроила экземпляр сервера отчетов, следует использовать параметр установки «Только файлы».
Поставщик 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. При создании скриптов развертывания данный подход позволяет повторно создавать пространство имен и содержимое папок сервера отчетов, а также политики безопасности на основе ролей.
В выпуске 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 выполняется на нескольких серверах отчетов, то для одинаковой их настройки один и тот же скрипт выполняется на каждом из серверов.
Следующий перечень описывает шаги, необходимые для перемещения отчетов с одного сервера на другой.
Присвойте переменной скрипта URL-адрес исходного сервера отчетов.
Воспользуйтесь методами GetItemDefinition и GetProperties для получения определения и свойств отчета.
Присвойте URL-адресу значение, указывающее на целевой сервер.
Воспользуйтесь методом CreateCatalogItem , передав ему свойства, возвращенные методом GetProperties , и определение отчета, возвращенное методом GetItemDefinition.
Пользуясь методами get и create, можно выполнить аналогичные шаги для переноса настроек, папок, общих источников данных и ресурсов. Дополнительные сведения о доступных методах см. в разделе Технический справочник (службы SSRS).
Примечание
Если учетные данные не указаны явным образом, то скрипты выполняются от имени пользователя Microsoft Windows, запустившего скрипт.
Дополнительные сведения о форматировании и выполнении файлов скриптов см. в разделе Создание скриптов с помощью программы rs.exe и веб-службы.
Настройка свойств сервера с помощью сценариев
Можно записать сценарии, которые зададут системные свойства на сервере отчетов. Следующий скрипт Visual Basic .NET иллюстрирует один из способов установки свойств. Этот сценарий отключает элемент управления RSClientPrint ActiveX, но можно заменить значения EnableClientPrinting
и False
любым допустимым именем свойства и значением. Полный список свойств сервера см. в разделе Report Server System Properties.
Чтобы использовать скрипт, сохраните его в файл с расширением 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)
Install SQL Server 2014 from the Command Prompt
Установка сервера отчетов служб Reporting Services в собственном режиме
Сервер отчетов служб Reporting Services (собственный режим)
Программы командной строки сервера отчетов (SSRS)
Планирование служб Reporting Services и поддержки Power View в браузерах (Reporting Services 2014)
Инструментальные средства служб Reporting Services