授予用户'的权限不足以执行此操作。 (rsAccessDenied)“}

时间:2008-09-25 11:52:20

标签: reporting-services reporting reportingservices-2005

我使用SSRS(2005)创建了一个报告模型并发布到本地服务器。但是,当我尝试使用报表生成器发布的模型运行报表时,出现以下错误。

  

报告执行错误:授予用户的权限不足以执行此操作。 (rsAccessDenied)

21 个答案:

答案 0 :(得分:86)

这是因为您正在运行报表生成器的用户缺少权限,只需为该用户或组授予运行报表生成器的权限。 请访问此article

或者为了捷径:

  1. 使用“以管理员身份运行”
  2. 启动Internet Explorer
  3. 打开http://localhost/reports
  4. 转到属性标签(SSRS 2008)
  5. 安全性 - >新角色分配
  6. 添加DOMAIN / USERNAME或DOMAIN / USERGROUP
  7. 检查报告构建器

答案 1 :(得分:18)

我知道很久以前,但是你(或任何其他新来的人)可以解决这个问题

  1. 将[域\用户]添加到管理员 IISUser SQLReportingUser
  2. 删除SSRS配置工具中的加密密钥
  3. 重新运行SSRS配置工具中的数据库更改
  4. 从SSRS配置工具中打开 WebServiceUrl( http://localhost/reportserver
  5. 手动创建报告文件夹
  6. 转到已创建文件夹的属性,将这些角色添加到安全性( builtin \ users,builtin \ Administrator,domain \ user
  7. 部署您的报告并解决您的问题

答案 2 :(得分:18)

右键单击Microsoft BI - >单击以管理员身份运行 - >要么打开现有的SSRS报告,要么创建新的SSRS报告,然后在报告完成后部署报告,您将收到一个用于查看报告的网址。复制该URL并粘贴到Web浏览器(以管理员身份运行),您将获得报告视图。 您可以使用Internet Explorer,这对Web服务至关重要

如果这是错误的意思,请原谅我,因为我喜欢这样,所以我写的。

答案 3 :(得分:8)

确保使用SQL Reporting Services配置将访问权限配置为URL http://localhost/reports。要做到这一点:

  1. 打开Reporting Services配置管理器 - >然后连接到报表服务器实例 - >然后单击Report Manager URL。
  2. 在“报告管理器URL”页面中,单击“高级”按钮 - >然后在“报表管理器的多个标识”中,单击“添加”。
  3. 在“添加报表管理器HTTP URL”弹出框中,选择“主机标题”并键入:localhost
  4. 单击“确定”保存更改。
  5. 现在使用Run as Administator启动/运行Internet Explorer ... (注意:如果在http://localhost/reports时左上角没有看到“网站设置”链接,可能是因为您没有将IE作为管理员运行,或者您尚未分配计算机的域名\ username'到报告服务角色,请参阅接下来的几个步骤中的操作方法。)
  6. 然后转到:http://localhost/reports(您可能需要使用计算机的用户名和密码登录)
  7. 现在,您应该转到SQL Server Reporting Services的主页:http://localhost/Reports/Pages/Folder.aspx
  8. 在主页中,单击“属性”选项卡,然后单击“新建角色分配”
  9. 在群组或用户名文本框中,添加错误消息中的“域\用户名”(在我的情况下,我添加了:'domain \ username'的DOUGDELL3-PC \ DOUGDELL3,在您的情况下,您可以在rsAccessDenied错误消息中找到您的计算机的域\用户名。)
  10. 现在检查所有复选框;浏览器,内容管理器,我的报告,发布者,报告构建器,然后单击“确定”。
  11. 您现在应将域名\用户名分配给角色,这样您就可以将报告部署到报表服务器。如果您使用Visual Studio或SQL Server Business Intelligence Development Studio将报表部署到本地报表服务器,那么您现在应该可以使用。
  12. 希望这有助于您解决Reports Server rsAccessDenied错误消息...
  13. 只是为了让您知道本教程是在具有SQL Server Reporting Services 2008的Windows 7计算机上完成的。

    参考文章:http://techasp.blogspot.co.uk/2013/06/how-to-fix-reporting-services.html

答案 4 :(得分:6)

在“报告管理器”中的“网站”设置下>配置系统级角色定义>检查ExecuteReport Defination选项 然后  创建系统用户组,授予对该组的访问权限 连接到服务器属性中的Reporting Services数据库,并添加一个组并将访问权限作为系统用户...它应该可以正常工作

答案 5 :(得分:5)

我有SQL2008 / Windows 2008 Enterprise,这是纠正rs.accessdenied,404,401和503错误所必须做的事情:

  • 将NT用户添加到SQL Report Server用户和IIS_USR组
  • 我将SQL Reporting Service更改为本地帐户(它是具有本地管理员的域)
  • 我在Reporting Services配置中删除了加密密钥(列表中的最后一个选项卡)
  • 然后它有效。

答案 6 :(得分:5)

您还可以确保应用程序池中的标识具有正确的权限。

  1. 转到IIS管理器

  2. 单击“应用程序池”

  3. 上标识要部署报告的站点的应用程序池
  4. 检查身份是否已设置为具有管理员权限的某个服务帐户或用户帐户

  5. 您可以通过停止池,右键单击它,然后选择高级设置来更改身份...

  6. 在Process Model下是Identity字段

答案 7 :(得分:4)

设置SSRS 2016后,我将RDP导入服务器(Windows Server 2012 R2),导航到报告URL(https://reports.fakeserver.net/Reports/browse/)并创建文件夹标题FakeFolder;一切似乎都很好。然后我从服务器断开连接,浏览到相同的URL,以同一用户身份登录,并在下面遇到错误。

  

授予用户' fakeserver \ mitchs'不够   执行此操作。

很困惑,我几乎尝试了此页面上建议的每个解决方案,但在导航到URL并进行身份验证时,仍然无法在本地和外部创建相同的行为。然后,我单击了FakeFolder的省略号,单击“管理”,单击“安全”(位于屏幕左侧),并将自己添加为具有完全权限的用户。断开与服务器的连接后,我浏览了https://reports.fakeserver.net/Reports/browse/FakeFolder,并且能够查看文件夹的内容而不会遇到权限错误。但是,当我点击主页时,我收到了权限错误。

就我的目的而言,这已经足够好了,因为其他人都不需要浏览到根URL,因此我只需要在SSRS中进行更改时首先连接到服务器,然后浏览到报告网址。

答案 8 :(得分:4)

我使用了以下步骤,这对我有用。

打开Reporting Services配置管理器 - >然后连接到报表服务器实例 - >然后单击Report Manager URL。

在“报告管理器URL”页面中,单击“高级”按钮 - >然后在“报表管理器的多个标识”中,单击“添加”。

在“添加报表管理器HTTP URL”弹出框中,选择“主机标题”并键入:localhost 单击“确定”保存更改。

然后:

  1. 复制了报表服务器URL
  2. 以管理员身份运行Google Chrome / Internet Explorer
  3. 在地址栏中粘贴网址,然后按Enter键。
  4. 它在Internet Explorer和Google Chrome上运行正常,但不适用于Mozilla Firefox。

    如果Firefox要求输入用户名和密码,我提供它但不起作用。我是管理员,并且完全正确。

    我还做了一个更改集“用户帐户控制设置”,从不通知。

    如果从Visual Studio部署此报告时遇到此类异常,请执行以下操作:

    1. 以管理员权限打开Goog​​le Chrome / Internet Explorer。
    2. 在其中打开报表服务器URL。
    3. 3.单击“新角色分配”添加然后输入用户名并选择角色 。enter image description here

      1. 点击确定。
      2. 现在从Visual Studio部署报告,它将工作并在指定的服务器上部署报告。

答案 9 :(得分:4)

旧但相关的问题。我通过登录报告服务器解决了2012年问题:

  • 浏览http://localhost/reports/
  • 点击右上角的“网站设置”(仅在登录报表服务器时可用)
  • 转到“安全”标签,然后点击“新角色分配”
  • 我的DOMAIN \ USERNAME已添加为系统管理员

不能说我对这个解决方案感到满意,但是我需要一些有效的方法并且有效。希望这有助于其他人。

答案 10 :(得分:3)

问题:

错误rsAccessDenied:授予用户“User \ User”的权限不足以执行此操作。

解决方案:

点击“文件夹设置”> “新角色分配” 然后在“组或用户名”文本框中键入“User \ User”。 选中您希望用户拥有的角色复选框。

答案 11 :(得分:2)

为我工作的是:

Open localhost/reports
Go to properties tab (SSRS 2008)
Security->New Role Assignment
Add DOMAIN/USERNAME or DOMAIN/USERGROUP
Check Report builder

答案 12 :(得分:2)

以管理员身份打开Internet Explorer。

打开报告网址http://machinename/reportservername

然后在“文件夹设置”中授予所需用户组的权限。

答案 13 :(得分:2)

这对我有用 - - 到报告管理员,检查网站设置 - >安全 - >新角色分配 - >添加用户

- 也可以转到报告管理器中的数据集 - >您的报告数据集 - >安全 - >新角色分配 - >添加具有所需角色的用户。

谢谢!

答案 14 :(得分:1)

对于SQL Reporting Services 2012 - SP1和SharePoint 2013。

我遇到了同样的问题: 授予用户“[AppPoolAccount]”的权限不足以执行此操作。

我进入了服务应用程序设置,单击了密钥管理,然后更改密钥并重新生成密钥。

答案 15 :(得分:1)

就像纳赛尔一样,我知道这是不久前的事情,但是我想在将来为遇到这个问题的人发布我的解决方案。

我设置了报表,以便在SharePoint上托管的数据连接库中使用数据连接。我的问题是我没有'已批准'的数据连接,因此其他用户可以使用它。

要查找的另一件事是确保该数据连接库上的权限还允许读取选定用户。

希望这迟早能帮助别人!

答案 16 :(得分:1)

感谢分享。经过1.5天的努力,发现Report Server配置了错误的域IP。它配置了脱机的备份域IP。我已在未列出域名的用户组配置中识别出此信息。更改了IP并重新启动了报表服务器。问题已解决。

答案 17 :(得分:1)

很久以前我就知道了,但可能对其他新人有所帮助,

我决定在请求SSRS报告时传递用户名,密码和域名,因此我创建了一个实现IReportServerCredentials的类。

 public class ReportServerCredentials : IReportServerCredentials   
{
    #region  Class Members
        private string username;
        private string password;
        private string domain;
    #endregion

    #region Constructor
        public ReportServerCredentials()
        {}
        public ReportServerCredentials(string username)
        {
            this.Username = username;
        }
        public ReportServerCredentials(string username, string password)
        {
            this.Username = username;
            this.Password = password;
        }
        public ReportServerCredentials(string username, string password, string domain)
        {
            this.Username = username;
            this.Password = password;
            this.Domain = domain;
        }
    #endregion

    #region Properties
        public string Username
        {
            get { return this.username; }
            set { this.username = value; }
        }
        public string Password
        {
            get { return this.password; }
            set { this.password = value; }
        }
        public string Domain
        {
            get { return this.domain; }
            set { this.domain = value; }
        }
        public WindowsIdentity ImpersonationUser
        {
            get { return null; }
        }
        public ICredentials NetworkCredentials
        {
            get
            {
                return new NetworkCredential(Username, Password, Domain);
            }
        }
    #endregion

    bool IReportServerCredentials.GetFormsCredentials(out System.Net.Cookie authCookie, out string userName, out string password, out string authority)
    {
        authCookie = null;
        userName = password = authority = null;
        return false;
    }
}

在调用SSRS Reprots时,请输入以下代码

 ReportViewer rptViewer = new ReportViewer();
 string RptUserName = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUser"]);
        string RptUserPassword = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUserPassword"]);
        string RptUserDomain = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportUserDomain"]);
        string SSRSReportURL = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportURL"]);
        string SSRSReportFolder = Convert.ToString(ConfigurationManager.AppSettings["SSRSReportFolder"]);

        IReportServerCredentials reportCredentials = new ReportServerCredentials(RptUserName, RptUserPassword, RptUserDomain);
        rptViewer.ServerReport.ReportServerCredentials = reportCredentials;
        rptViewer.ServerReport.ReportServerUrl = new Uri(SSRSReportURL);

SSRSReportUser,SSRSReportUserPassword,SSRSReportUserDomain,SSRSReportFolder在web.config文件中定义。

答案 18 :(得分:1)

该报表可能要访问AD用户(或AD组)的访问权限不足的DataSource或DataView。

确保您签出以下URL:

  • http://REPORTSERVERNAME/Reports/Pages/Folder.aspx?ItemPath=%2fDataSources
  • http://REPORTSERVERNAME/Reports/Pages/Folder.aspx?ItemPath=%2fDataSets

然后选择Folder Settings

Folder Settings

(或适当的个人DataSourceDataSet),然后选择Security。该用户组需要具有Browser权限。

enter image description here

答案 19 :(得分:0)

尽管管理员组已成为会员,但仍以管理员身份运行BIDS。

答案 20 :(得分:0)

对我有用的是:

  • 进入网站设置
  • 点击“配置站点范围的安全性”
  • 点击顶栏中的“新角色分配”按钮
  • 为新角色指定以下名称“Everyone”
  • 在可用角色中,仅授予其“系统用户”
  • 点击“应用”

应该这样做,

祝你好运!