[ACCEPTED]-How do I copy SSRS reports to a new server if I am not the owner of the reports-reporting-services
Try this tool: http://code.google.com/p/reportsync/
It can sync all reports(or 6 selected folders) from one server to another. In 5 addition you can also download to and upload 4 from local folders.
Data sources with the 3 same name will automatically get attached. Saves 2 a lot of time as you don't have to reattach 1 datasources after uploading.
Note: I wrote this tool myself to suit my needs, but its free and open source.
Just point it at your RS server and 10 let it run. It has many options as to what 9 is and isn't scripted. One of which is download 8 existing RDL file.
When complete just a find 7 and replace tool to change the server name 6 (within the generated scripts) and any other 5 password/location information and let it 4 run. It is essentially using RS.exe under 3 the hood.
I seem to recall that you have 2 have to run it locally on the SSRS box when 1 deploying.
For SQL Server Reporting Services 2008 R2 10 or later, Microsoft have a migration tool:
Reporting 9 Services Migration Tool
A tool that migrates 8 reports and other artifacts from one report server 7 to another report server. It can also be 6 used as a backup and restore tool for 5 Reporting Services.
I haven't made personal 4 use of this, and to be honest the description 3 lists a few failings that the developers 2 are 'working towards a solution' on, but 1 it might help someone out.
If you can consider replacing all reports 11 on the new server, you should look at moving 10 the ReportServer database. This will also 9 move subscriptions and cached data: http://technet.microsoft.com/en-us/library/ms156421.aspx
What 8 version of SSRS are you using? The edit 7 button was in SSRS 2005, but is no longer 6 in 2008 or 2008 R2: it's replaced with the 5 "Download" button. Could that 4 be the problem?
As a Content Manager, you 3 should be able to edit the definitions of 2 any report.
Let me know what version you're 1 looking at. Jamie F
What I ended up doing is running Internet 10 Explorer as the server administrator user. You 9 do this by holding shift and right-clicking 8 on the Internet Explorer icon on your start 7 menu and then choosing "Run as different 6 user". You then enter the login details 5 for the domain administrator user account 4 and enter the address of the report server. Being 3 the server adminstrator user for the domain 2 allowed me to be the Content Manager user 1 for all of the reports.
First: backup your your new Reports database 9 before you do this. Copy the follwing tables 8 from the original Reports database to the 7 new Reports database: - Catalog - ChunkData - DataSource - Policy - PolicyuserRole - SecData - Users
Make 6 sure you dont copy the Keys table!
One issue 5 with this is you will need to re-create 4 all your shared datasources and re-assign 3 them to each report. But, this will copy 2 over all your folders, reports, and user 1 roles.
SSRS uses SQL Server to store it’s details 40 as a backend and the Catalog table is used 39 to store the report file in binary form. The 38 below script simply pulls the report definition 37 from the Catalog table & uses BCP utility 36 to export the same at a pre-defined path 35 as a .rdl file.
To use the BCP utility from 34 TSQL, we need to execute “xp_cmdshell” command; it 33 is disabled by default. So, first you need 32 to execute the below script to enable it 31 -
-- Allow advanced options to be changed. EXEC 30 sp_configure 'show advanced options', 1 29 GO
-- Update the currently configured 28 value for advanced options. RECONFIGURE 27 GO
-- Enable xp_cmdshell EXEC sp_configure 26 'xp_cmdshell', 1 GO
-- Update the currently 25 configured value for xp_cmdshell RECONFIGURE 24 GO
-- Disallow further advanced options 23 to be changed. EXEC sp_configure 'show advanced 22 options', 0 GO
-- Update the currently 21 configured value for advanced options. RECONFIGURE 20 GO
Once successfully executed, the below script with the required changes could be executed to download the files -
DECLARE @FilterReportPath AS VARCHAR(500) = NULL 19 DECLARE @FilterReportName AS VARCHAR(500) = NULL
DECLARE 18 @OutputPath AS VARCHAR(500) = 'D:\Reports\Download\'
DECLARE 17 @TSQL AS NVARCHAR(MAX) SET @OutputPath = REPLACE(@OutputPath,'\','/')
IF 16 LTRIM(RTRIM(ISNULL(@OutputPath,''))) = '' BEGIN 15 SELECT 'Invalid Output Path' END ELSE 14 BEGIN SET @TSQL = STUFF((SELECT ';EXEC master..xp_cmdshell 13 ''bcp " ' + ' SELECT ' + ' CONVERT(VARCHAR(MAX), ' + ' CASE 12 ' + ' WHEN LEFT(C.Content,3) = 0xEFBBBF 11 THEN STUFF(C.Content,1,3,'''''''') '+ ' ELSE 10 C.Content '+ '
END) ' + ' FROM ' + ' [ReportServer].[dbo].[Catalog] CL 9 ' + ' CROSS APPLY (SELECT CONVERT(VARBINARY(MAX),CL.Content) Content) C 8 ' + ' WHERE ' + ' CL.ItemID = ''''' + CONVERT(VARCHAR(MAX), CL.ItemID) + ''''' " queryout 7 "' + @OutputPath + '' + CL.Name + '.rdl" ' + '-T 6 -c -x''' FROM [ReportServer].[dbo].[Catalog] CL 5 WHERE CL.[Type] = 2 --Report AND '/' + CL.[Path] + '/' LIKE 4 COALESCE('%/%' + @FilterReportPath + '%/%', '/' + CL.[Path] + '/') AND 3 CL.Name LIKE COALESCE('%' + @FilterReportName 2 + '%', CL.Name) FOR XML PATH('')), 1,1,'')
EXEC 1 SP_EXECUTESQL @TSQL END
More Related questions