SSRS 2019报表用户权限溯源需求:生成各报表用户权限清单
如何导出SSRS 2019所有报表的用户权限清单
SSRS的权限配置都存储在ReportServer数据库的系统表中,你可以通过直接查询该数据库生成所需的权限清单。以下是具体方法:
执行SQL查询获取权限清单
- 打开SQL Server Management Studio,连接到SSRS实例对应的数据库引擎
- 切换到ReportServer数据库(如果你的SSRS数据库名自定义过,替换为实际名称)
- 运行以下SQL脚本:
SELECT c.Path AS 报表路径, c.Name AS 报表名称, u.UserName AS 用户/组名称, r.Name AS 权限角色 FROM Catalog c JOIN PolicyUserRole pur ON c.PolicyID = pur.PolicyID JOIN Users u ON pur.UserID = u.UserID JOIN Role r ON pur.RoleID = r.RoleID WHERE c.Type = 2 -- Type=2表示报表对象,Type=1是文件夹,按需调整 ORDER BY c.Path, u.UserName
脚本说明
Catalog表:存储所有SSRS对象(报表、文件夹、数据源等),通过Type=2筛选出报表PolicyUserRole:存储权限策略与用户/角色的关联关系Users表:记录SSRS的用户和AD组信息Role表:包含SSRS内置或自定义的权限角色(如浏览者、内容管理员、发布者等)
扩展说明
- 如果需要包含文件夹的权限(方便查看继承关系),可以去掉
WHERE c.Type=2条件,或者将Type改为1(文件夹) - 若要区分直接分配的权限和继承的权限,可以对比
Catalog表当前对象的PolicyID与父文件夹的PolicyID:两者相同则为继承权限,不同则为直接分配权限
内容的提问来源于stack exchange,提问作者pseudonym
相关产品推荐
相关产品推荐

