Sql server SSRS-通过ReportServer数据库表确定报表权限?
如何以编程方式确定有权访问特定SSRS报告的登录名/用户Sql server SSRS-通过ReportServer数据库表确定报表权限?,sql-server,ssrs-2008,Sql Server,Ssrs 2008,如何以编程方式确定有权访问特定SSRS报告的登录名/用户 我想创建一个数据集市,以便为希望查看谁有权访问特定报告的经理填充报告。我们目前将权限分配给Active Directory组,然后SQL Server和SSR使用这些组来确定权限。我想知道SSRS元数据中是否有一个表跟踪如何将权限分配给报表。这是一个脚本,可以实现大部分您想要的功能,您可以根据需要调整它: select C.UserName, D.RoleName, D.Description, E.Path, E.Name from
我想创建一个数据集市,以便为希望查看谁有权访问特定报告的经理填充报告。我们目前将权限分配给Active Directory组,然后SQL Server和SSR使用这些组来确定权限。我想知道SSRS元数据中是否有一个表跟踪如何将权限分配给报表。这是一个脚本,可以实现大部分您想要的功能,您可以根据需要调整它:
select C.UserName, D.RoleName, D.Description, E.Path, E.Name
from dbo.PolicyUserRole A
inner join dbo.Policies B on A.PolicyID = B.PolicyID
inner join dbo.Users C on A.UserID = C.UserID
inner join dbo.Roles D on A.RoleID = D.RoleID
inner join dbo.Catalog E on A.PolicyID = E.PolicyID
order by C.UserName
您可以在SSRS SQL ReportServer上运行该脚本。上面的脚本可以运行,但请记住,它也会显示已删除的用户,即不再位于Active Directory中的用户,这有时可能会造成混淆
此外,Microsoft官方不支持对其ReportServer数据库的任何查询。dbo.Policies(B)在此查询中不需要。查找具有过期RolesGetPolicys()的报表的交易可用于检索正确的权限。