MSSQL Report Server 重置所有权限
MSSQL Report Server reset all permissions
我目前 运行 Windows Server 2008-R2,带有 MSSQL 服务器和 Reporting Services。
目前有成百上千的文件夹和报告,但是用户都调整了他们的安全设置。
我的问题是:是否可以将所有文件夹和报告的所有权限重置为与 /Home 文件夹具有相同的用户权限,而不必一一打开它们?
或者重置所有权限,在 /Home 文件夹上创建新权限,让其他文件夹和报表继承?
您可以通过编辑 ReportServer 数据库中的 [Catalog] table 批量执行此操作。
我认为如果将 [PolicyRoot] 字段设置为 0,文件夹对象将从 Home 继承权限。
从这个查询开始,看看 table 的内容:
SELECT
*
FROM
[ReportServer].[dbo].[Catalog]
WHERE
[PolicyRoot] <> 0
AND [Path] LIKE '/%' --get child folders
AND [Type] = 1 -- just folders
我还没有测试过这个所以建议非常小心并且一定要先备份数据库。
您可以使用API 或直接更改SSRS 数据。 API 已获批准且更安全。本文包含一些可以帮助您入门的链接。
抱歉,我来晚了,但我刚找到这个 post,它帮助我解决了问题。
背景
我正在将 SSRS (2016) 应用程序和数据库从一个域林移动到另一个域林。更新 PolicyRoot 是在正确的轨道上,但您还必须将 PolicyID 更新为您要模拟的父文件夹(或另一个文件夹的安全性)。就我而言,无法从 Domain2 中的站点看到所有 Domain1\ 帐户,因此我尝试使用另一个域 and/or 组更新 PolicyUsers 和 Users 表,但无济于事。因此,在阅读 post 并进行一些测试后,我能够创建一个脚本,将所有子文件夹和对象重置为父文件夹的。您只需要能够在 SSRS 网站中设置对父根文件夹的权限。
------------- 启动脚本
使用 [ReportServer]
声明@PolicyID varchar(max)
-- 这是根文件夹,注意 PolicyID Number
-- select PolicyID,PolicyRoot,* 来自目录,其中 ParentID 为空且 PolicyRoot=1
Select @PolicyID = 来自 Catalog 的 PolicyID,其中 ParentID 为空
-- 下面一行将重置所有子文件夹的所有安全权限
更新目录设置 PolicyID=@PolicyID,PolicyRoot = 0 其中 ParentID 不为空
------------结束脚本
注意:策略根0表示继承自策略id,1表示唯一
我目前 运行 Windows Server 2008-R2,带有 MSSQL 服务器和 Reporting Services。
目前有成百上千的文件夹和报告,但是用户都调整了他们的安全设置。
我的问题是:是否可以将所有文件夹和报告的所有权限重置为与 /Home 文件夹具有相同的用户权限,而不必一一打开它们? 或者重置所有权限,在 /Home 文件夹上创建新权限,让其他文件夹和报表继承?
您可以通过编辑 ReportServer 数据库中的 [Catalog] table 批量执行此操作。
我认为如果将 [PolicyRoot] 字段设置为 0,文件夹对象将从 Home 继承权限。
从这个查询开始,看看 table 的内容:
SELECT
*
FROM
[ReportServer].[dbo].[Catalog]
WHERE
[PolicyRoot] <> 0
AND [Path] LIKE '/%' --get child folders
AND [Type] = 1 -- just folders
我还没有测试过这个所以建议非常小心并且一定要先备份数据库。
您可以使用API 或直接更改SSRS 数据。 API 已获批准且更安全。本文包含一些可以帮助您入门的链接。
抱歉,我来晚了,但我刚找到这个 post,它帮助我解决了问题。
背景
我正在将 SSRS (2016) 应用程序和数据库从一个域林移动到另一个域林。更新 PolicyRoot 是在正确的轨道上,但您还必须将 PolicyID 更新为您要模拟的父文件夹(或另一个文件夹的安全性)。就我而言,无法从 Domain2 中的站点看到所有 Domain1\ 帐户,因此我尝试使用另一个域 and/or 组更新 PolicyUsers 和 Users 表,但无济于事。因此,在阅读 post 并进行一些测试后,我能够创建一个脚本,将所有子文件夹和对象重置为父文件夹的。您只需要能够在 SSRS 网站中设置对父根文件夹的权限。
------------- 启动脚本
使用 [ReportServer]
声明@PolicyID varchar(max)
-- 这是根文件夹,注意 PolicyID Number
-- select PolicyID,PolicyRoot,* 来自目录,其中 ParentID 为空且 PolicyRoot=1
Select @PolicyID = 来自 Catalog 的 PolicyID,其中 ParentID 为空
-- 下面一行将重置所有子文件夹的所有安全权限
更新目录设置 PolicyID=@PolicyID,PolicyRoot = 0 其中 ParentID 不为空
------------结束脚本
注意:策略根0表示继承自策略id,1表示唯一