Solved

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

Posted on 2014-09-26
2
205 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Resolve Critical IT Incidents Fast

If your data, services or processes become compromised, your organization can suffer damage in just minutes and how fast you communicate during a major IT incident is everything. Learn how to immediately identify incidents & best practices to resolve them quickly and effectively.

Question has a verified solution.

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

Steps to solve SSRS SQL 2008 R2 User Access Control (UAC) Permission Error With the introduction of SQL Server 2008 R2 and Vista (Windows 7 as well) came new enhanced security features. One of the features included was User Access Control (UAC) t…
Occasionally there is a need to clean table columns, especially if you have inherited legacy data. There are obviously many ways to accomplish that, including elaborate UPDATE queries with anywhere from one to numerous REPLACE functions (even within…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

763 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