Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SSRS-通过ReportServer数据库表确定报表权限?_Sql Server_Ssrs 2008 - Fatal编程技术网

Sql server SSRS-通过ReportServer数据库表确定报表权限?

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

如何以编程方式确定有权访问特定SSRS报告的登录名/用户


我想创建一个数据集市,以便为希望查看谁有权访问特定报告的经理填充报告。我们目前将权限分配给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()的报表的交易可用于检索正确的权限。