it-swarm.com.de

Laden Sie alle SSRS-Berichte herunter

Ich möchte eine Kopie aller .rdl-Dateien auf einem Server abrufen. __ Ich kann den Bericht manuell zu einem Zeitpunkt erstellen, dies ist jedoch zeitaufwendig, vor allem, dass dieser Server etwa 1500 Berichte hat.

Gibt es eine Möglichkeit oder ein Tool, mit dem ich alle .rdl-Dateien herunterladen und eine Kopie davon erstellen kann?

6
asmgx

Es gibt eine vollständigere und einfachere Möglichkeit, dies mit PowerShell zu tun.

Dieser Code exportiert ALLE Berichtsinhalte in derselben Struktur wie der Berichtsserver. Sehen Sie sich das Github-Wiki an, um weitere Optionen und Befehle zu erhalten 

#------------------------------------------------------
#Prerequisites
#Install-Module -Name ReportingServicesTools
#------------------------------------------------------

#Lets get security on all folders in a single instance
#------------------------------------------------------
#Declare SSRS URI
$sourceRsUri = 'http://ReportServerURL/ReportServer/ReportService2010.asmx?wsdl'

#Declare Proxy so we dont need to connect with every command
$proxy = New-RsWebServiceProxy -ReportServerUri $sourceRsUri

#Output ALL Catalog items to file system
Out-RsFolderContent -Proxy $proxy -RsFolder / -Destination 'C:\SSRS_Out' -Recurse
19
CPorteous

Wenn Sie dies nur für Sicherungszwecke oder ähnliches benötigen, kann dies nützlich sein: Wo befindet sich eine veröffentlichte RDL-Datei?

Die relevante Abfrage aus diesem Thread lautet:

select convert(varchar(max), convert(varbinary(max), content))
from catalog
where content is not null

Die ursprüngliche Antwort war 2005, und ich habe es 2016 verwendet. Ich denke, es sollte für 2008 und 2012 funktionieren.

Als ich dies verwenden musste, fügte ich der Abfrage auch den Pfad hinzu, sodass ich wusste, welcher Bericht welcher war.

1
C Black

Dies basiert auf SQL2016/SSRS2016, aber ich denke, es sollte für 2012 funktionieren.

SELECT 'http://mySQLServerName/reports/api/v1.0/catalogitems(' + cast(itemid as varchar(256))+ ')/Content/$value' AS url
    FROM ReportServer.dbo.Catalog

Dadurch erhalten Sie eine Liste mit URLs, eine für jeden Bericht.

Wenn das oben genannte Problem in SSRS 2012 nicht funktioniert hat, gehen Sie zum Berichts-Manager und tun Sie, als würden Sie die Datei von dort herunterladen. Überprüfen Sie die URL auf der Download-Schaltfläche. Sie sehen wahrscheinlich eine URL mit einer darin eingebetteten Element-ID. Passen Sie einfach den obigen Code an die URL-Struktur an.

Was Sie danach tun, bleibt Ihnen überlassen. Persönlich würde ich die Chrome-Erweiterung namens "Tab Save" verwenden, die im Chrome Store hier verfügbar ist. Sie können einfach alle oben erstellten URLs kopieren und einfügen und auf die Schaltfläche "Herunterladen" klicken.

1
Alan Schofield