【发布时间】:2019-01-26 03:58:47
【问题描述】:
如何以编程方式确定有权访问特定 SSRS 报告的登录名/用户?
我想创建一个数据集市,以便为想要查看谁有权访问特定报告的经理填充报告。我们目前将权限分配给 Active Directory 组,然后 SQL Server 和 SSRS 使用这些组来确定权限。我想知道 SSRS 的元数据中是否有一个表可以跟踪权限是如何分配给报告的。
【问题讨论】:
标签: sql-server ssrs-2008
如何以编程方式确定有权访问特定 SSRS 报告的登录名/用户?
我想创建一个数据集市,以便为想要查看谁有权访问特定报告的经理填充报告。我们目前将权限分配给 Active Directory 组,然后 SQL Server 和 SSRS 使用这些组来确定权限。我想知道 SSRS 的元数据中是否有一个表可以跟踪权限是如何分配给报告的。
【问题讨论】:
标签: sql-server ssrs-2008
这是一个脚本,可以满足您的大部分需求,您可以根据需要对其进行调整:
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 数据库的任何查询。
【讨论】: