Можно ли использовать PowerShell для создания сценариев rdl-файлов служб отчетов SQL Server в SQL Server 2008? Если да, может ли кто-нибудь предоставить пример кода для этого? Это было бы полезной заменой использования стороннего инструмента для создания сценариев RDL-файлов, созданных бизнес-пользователями вне моего отдела бизнес-аналитики.
УТОЧНЕНИЕ СРОКА "СЦЕНАРИЙ"
Под "script out" я имею в виду, что я хотел бы автоматически генерировать основной файл RDL для каждого отчета на сервере. Например, когда вы кодируете отчет в BIDS, вы генерируете файл RDL. При развертывании файла на сервере файл каким-то образом импортируется в базу данных SQL Server ReportServer и больше не является отдельным физическим файлом RDL. Я хотел бы извлечь все отчеты с сервера в формате файла RDL.
Я использовал инструмент RSScripter для извлечения отчетов в виде файлов RDL, поэтому я знаю, что это возможно с помощью инструментов, отличных от PowerShell. Мне бы особенно хотелось узнать, возможно ли это сделать с помощью PowerShell, и, если это так, получить образец кода для этого.
УТОЧНЕНИЕ ПОЧЕМУ Я ХОЧУ СОЗДАТЬ ВЕРСИИ ОТЧЕТОВ RDL
Почему важно «записывать» отчеты в файлы RDL? Я хотел бы регистрировать файлы RDL в моей системе контроля версий раз в ночь, чтобы отслеживать все отчеты, созданные пользователями за пределами моего отдела бизнес-аналитики. Я уже отслеживаю все отчеты, сгенерированные моим отделом, с тех пор, как мы разрабатываем наши отчеты в BIDS, но я не могу отслеживать историю версий отчетов, созданных в онлайн-средстве построителя отчетов.
УТОЧНЕНИЕ ПОЧЕМУ МОЩНОСТИ И НЕ ЧТО-ТО, ЧТО-ТО
Любопытство. У меня есть проблема, которую, я знаю, можно решить одним из двух методов (API или RSSCripter), и я хотел бы знать, может ли она быть решена третьим методом.
Возможность расширить набор инструментов для решения проблем с помощью PowerShell. Использование PowerShell для решения этой проблемы может послужить основой для изучения того, как использовать PowerShell для решения других проблем, которые я еще не пытался решить.
PowerShell легче понять для меня и моей команды. В общем, члены моей команды и я можем понять код PowerShell легче, чем код .NET. Хотя я знаю, что эту проблему можно решить с помощью некоторого кода .NET с помощью API (в конце концов, именно так работает RSScripter), я чувствую, что нам будет проще кодировать и поддерживать скрипт PowerShell. Я также понимаю, что сценарий PowerShell, вероятно, будет использовать код .NET, но я надеюсь, что PowerShell уже сможет обрабатывать отчеты как объекты, поэтому мне не придется использовать API служб Reporting Services для извлечения файлов.
RSScripter пока не поддерживает 2008. В прошлом я использовал RSScript для составления отчетов. К сожалению, пока не поддерживается 2008. Это означает, что я должен написать код для API прямо сейчас, так как это единственный способ, которым я представляю, как извлечь файлы автоматически без присмотра.