2017-10-17 13 views
0

Je souhaite obtenir une copie de tous les fichiers .rdl sur un serveur. Je peux faire le téléchargement manuellement d'un rapport à la fois, mais cela prend du temps surtout que ce serveur a environ 1500 rapports.Télécharger tous les rapports SSRS

Existe-t-il un moyen ou un outil qui me permet de télécharger tous les fichiers .rdl et d'en prendre une copie?

Répondre

0

Ceci est basé sur SQL2016/SSRS2016 mais je pense que cela devrait fonctionner pour 2012.

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

Cela vous donnera une liste des URL, un pour chaque rapport.

Si ce qui précède n'a pas fonctionné dans SSRS 2012, allez dans le gestionnaire de rapports et faites comme si vous alliez télécharger le fichier à partir de là. Vérifiez l'URL sur le bouton de téléchargement et vous verrez probablement une URL avec l'identifiant de l'élément intégré. Ajustez simplement le code ci-dessus pour correspondre à cette structure d'URL.

Ce que vous faites avec ensuite après cela est à vous. Personnellement, j'utiliserais l'extension Chrome appelée «Tab Save» disponible dans la boutique Chrome here. Vous pouvez simplement copier et coller tous les URL créée ci-dessus dans et cliquez sur le bouton de téléchargement ...

0

Si vous avez juste besoin de cela pour des fins de sauvegarde ou quelque chose de similaire, cela pourrait être utile: Where does a published RDL file sit?

La requête pertinente de ce fil est:

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

La réponse originale utilisait 2005, et je l'ai utilisé sur 2016, donc je suppose que cela devrait fonctionner pour 2008 et 2012.

Quand je devais utiliser, J'ai ajouté dans le chemin vers le quer y aussi, de sorte que je savais quel rapport était lequel.

3

Il existe une méthode complète & pour faire cela en utilisant PowerShell.

Ce code exportera TOUT le contenu du rapport dans la même structure que le serveur de rapports. Jetez un oeil à la Github wiki pour d'autres options & commandes

#------------------------------------------------------ 
#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