Solved

SSRS 2005 report to show reports in report manager and users who can access the reports

Posted on 2014-09-26
2
200 Views
Last Modified: 2014-10-01
Hi Experts

I need a report from SSRS 2005 to show the reports available in report manager and the users who can access that report and there type of access levels.

Dave.
0
Comment
Question by:MrDavidThorn
2 Comments
 
LVL 37

Accepted Solution

by:
ValentinoV earned 500 total points
ID: 40349694
SSRS uses two system databases. One of them is called reportserver and contains the info you're looking for.

Basically the Catalog table contains a list of the reports, Roles contains the different roles and Users contains the users that have been defined.  You'll need to go through Policies to link a role with a user.

Have a look at the following query:

SELECT 
	CAT.Name
	,U.UserName
	,ROL.RoleName
	,ROL.Description
	,U.AuthType
FROM dbo.Users U
INNER JOIN dbo.PolicyUserRole PUR ON U.UserID = PUR.UserID
INNER JOIN dbo.Policies POLICY ON POLICY.PolicyID = PUR.PolicyID
INNER JOIN dbo.Roles ROL ON ROL.RoleID = PUR.RoleID
INNER JOIN dbo.Catalog CAT ON CAT.PolicyID = POLICY.PolicyID
ORDER BY CAT.Name

Open in new window

Please note that, although I could have written this query myself given some time, I didn't because I knew it already existed here (query 4): SQL Server Reporting Services 2008 R2 Report Server Database Helpful Queries
0
 

Author Closing Comment

by:MrDavidThorn
ID: 40354109
I've used

SELECT   E.Name,E.Path,  
CASE E.[Type]
      WHEN 1 THEN 'FOLDER'
      WHEN 2 THEN 'REPORT'
      WHEN 4 THEN 'REPORT'
END AS [Type],C.UserName, D.RoleName, D.[Description]
From dbo.PolicyUserRole A with (NoLock)
INNER JOIN dbo.Users c WITH (NoLock) on A.UserId = C.UserId
INNER JOIN dbo.Roles D WITH (NoLock) on A.RoleId = D.RoleId
INNER JOIN (Select * FROM dbo.Catalog E With (NoLock) Where [Type] Not In (3,5)
 ) E
On A.PolicyID = E.PolicyID
Order by e.NAME
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this short article I will be talking about two functions in the SQL Server Reporting Services (SSRS) function stack.  Those functions are IIF() and Switch().  And I'll be showing you how easy it is to add an Else part to the Switch function. T…
This code started out as a fix for a customer that had incoming data that was hunderds of numbers and words long that was to fit in one column. The problem was that the customer did not want to split words or numbers when wrapping in the column. …
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question