September 20, 2010 at 4:37 am
Im not sure if there is a specific tool available or if there is a good way to go about doing this.
We are trying to clean up the reports we have on our live server compared with the reports we have checked into our source control.
The movement of reports to suit the folders users required their reports to be in have changed slowly over time and with 100s of reports to check, i wanted a relaviely easy way to check that the reports we have in source control , match the reports we have on our live system.
My Thought was to clean our test Report Server of all reports and then upload all the reports contained in source control...
But then what I need to be able to do is identify which reports are different
Is there a good tool available for this comparrioson, (obviously its not just the report name and location that may have changed, the rdl may also have changed and a developer may not have checked a report in after updating it)
Any good ideas ?
September 20, 2010 at 6:40 am
Declare @LiveRS Table (
RDL varchar(MAX),
CompletePath nvarchar(max)
)
Insert Into @LiveRS
select convert(varchar(max), convert(varbinary(max), content)) [RDL],Path + Name [CompletePath]
from [TEST].[Reportserver].[dbo].catalog
where content is not null
Declare @SourceControlRS Table (RDL varchar(max),
CompletePath nvarchar(max))
Insert Into @SourceControlRS
select convert(varchar(max), convert(varbinary(max), content)) [RDL],Path + Name [CompletePath]
from [LIVE].[Reportserver].[dbo].catalog
where content is not null
Select SC.CompletePath [Source Control Path], RS.CompletePath [Live Server Path],case
When SC.RDL = RS.RDL Then 'Match'
Else 'RDLs different'
End [RDL Match],
Case
When SC.CompletePath = RS.CompletePath Then 'Match'
Else 'Paths Different'
End [Path Match]
From @LiveRS RS
Full Outer join @SourceControlRS SC on SC.CompletePath = RS.CompletePath
[/Code]
that should work shouldn't it?
September 21, 2010 at 9:29 am
I'd suggest you check out the RS Scripter available here. One of the options of this tool is to download the reports from your live server to a solution file complete with .rdls and such. Then you should be able to use your differencing tools (VSS has some built in but there are plenty of others out there, most likely your source control solution does as well) to check the downloaded solution with that already checked into source control.
-Luke.
September 22, 2010 at 4:47 am
HA! when I was first tasked with this I looked at RS Scripter , but I didn't know you could generate the entire solution
Much Appreciated!
September 23, 2010 at 6:57 am
The only thing to note is you should pay attention to what settings you set when you download the reports and create the solution. For example, if you upload a report to SSRS with a defaulted parameter, then decide to change the default but only change it via Report manager, depending on what options you choose with the RS scripter it will either grab the original default or the modified default. Just something to be aware of. Read the manual for more information.
-Luke.
Viewing 5 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply