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


99

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

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


我发现这是很有帮助.... msdn.microsoft.com/en-GB/library/bb630430.aspx的Windows假定每个人都是一个标准的用户...
Trabumpaline

Answers:


94

这是因为您对运行报表构建器的用户缺乏特权,因此只需为该用户或组授予运行报表构建器的特权即可。请访问这篇文章

或获取快捷方式:

  1. 使用“以管理员身份运行”启动Internet Explorer
  2. 打开HTTP://本地主机/报道
  3. 转到“属性”选项卡(SSRS 2008)
  4. 安全性->新角色分配
  5. 添加DOMAIN / USERNAME或DOMAIN / USERGROUP
  6. 检查报告生成器

8
不确定是否特定于2012年,但我也必须在“站点设置”中设置安全性。
uli78 2014年

15
对于2014年,成立了两个“文件夹设置”和“站点设置”的角色
乔希诺埃

4
本文中的一件事可以为您提供帮助:配置使用IE和“以管理员身份运行”。然后转到“文件夹设置”(将自己设置为“内容管理器”)和“站点设置”(角色:管理员)。然后返回您的默认浏览器,它将起作用。(我在2012年)。
Tomasz Gandor

4
我必须使用DOMAIN \ USERNAME而不是正斜杠。
保罗

4
在步骤2失败。我收到此消息:用户没有必需的权限。验证是否已授予足够的权限,并且已解决Windows用户帐户控制(UAC)限制。
RDeveloper

18

我知道已经很久了,但是您(或任何其他新手)可以通过以下方法解决此问题

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

2
嗨,我的问题是除一个报告外,所有报告都在工作。错误是-授予用户'NT AUTHORITY \ IUSR'的权限不足以执行此操作。(rsAccessDenied)。一份报告有什么区别?
Richa 2014年

5
我什至没有这些团体!我有AdministratorsIIS_IUSRSSQLServer2005SQLBrowserUser$User而不是!在这种情况下我该怎么办?这些事情多久更改一次!:o
user2173353

18

右键单击Microsoft BI->单击“以管理员身份运行”->打开现有的SSRS报告或创建新的SSRS报告,然后在编译之后部署您的报告,这将为您提供一个Web URL来查看您的报告。复制该URL并粘贴到Web浏览器(以管理员身份运行),您将获得报告视图。您可以使用Internet Explorer,这对于Web服务必不可少

如果是错误的意思,请原谅我,因为我这样做是为了让我写。


2
以管理员身份(右键单击)启动Visual Studio(BI)可以解决问题。
maets

10

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

  1. 打开Reporting Services配置管理器->然后连接到报表服务器实例->然后单击报表管理器URL。
  2. 在“报表管理器URL”页面中,单击“高级”按钮->,然后在“报表管理器的多个标识”中,单击“添加”。
  3. 在“添加报表管理器HTTP URL”弹出框中,选择“主机头”并输入:localhost
  4. 单击确定保存更改。
  5. 现在,使用“以管理员身份运行”启动/运行Internet Explorer ...(注意:如果在http:// localhost / reports时在左上角没有看到“站点设置”链接,则可能是因为您不在以管理员身份运行IE,或者您尚未将计算机的“域\用户名”分配给报告服务角色,请参阅接下来的几个步骤。
  6. 然后转到:http:// localhost / reports (您可能必须使用计算机的用户名和密码登录)
  7. 现在应该将您定向到SQL Server Reporting Services的主页:http://localhost/Reports/Pages/Folder.aspx
  8. 在主页上,单击“属性”选项卡,然后单击“新角色分配”
  9. 在“组或用户名”文本框中,添加错误消息中的“域\用户名”(在我的情况下,我添加了:DOUGDELL3-PC \ DOUGDELL3作为“域\用户名”,在您的情况下,您可以找到域rsAccessDenied错误消息中为计算机的\ username)。
  10. 现在选中所有复选框;单击浏览器,内容管理器,我的报表,发布者,报表生成器,然后单击确定。
  11. 您的域\用户名现在应该分配给角色,这些角色将使您可以将报表部署到报表服务器。如果您使用Visual Studio或SQL Server Business Intelligence Development Studio将报表部署到本地报表服务器,现在应该可以了。
  12. 希望这可以帮助您解决Reports Server rsAccessDenied错误消息...

只是为了让您知道本教程是在装有SQL Server Reporting Services 2008的Windows 7计算机上完成的。

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


2
请注意,不鼓励仅链接的答案,因此,SO答案应该是搜索解决方案的终点(与引用的另一种中途停留相比,随着时间的流逝,它们往往会过时)。请考虑在此处添加独立的摘要,并保留该链接作为参考。
kleopatra 2015年

6

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

  1. 转到IIS管理器

  2. 单击应用程序池

  3. 确定要在其上部署报告的站点的应用程序池

  4. 检查身份是否已设置为具有管理员权限的某些服务帐户或用户帐户

  5. 您可以通过以下方法更改身份:停止池,右键单击它,然后选择“高级设置...”。

“流程模型”下的“标识”字段


1
我还必须在Windows 2008 R2 Server上执行以下操作。对我而言,有效的方法是在Admin模式下打开IE,即Right Clikc IE->以Administartor身份运行。然后导航到http:// {您的基本URL}:{您的基本端口} / Reports /对我来说,这是devsql2008r2:80 / Reports 这解决了我的错误。Chrome或Firefox仍无法打开。
Vishnoo Rath

换句话说:此答案将解决以下情况:正在尝试调用SSRS的自定义应用程序正在按UserAAppPool Identity中的方式运行。但这UserA没有在SSRS服务器上配置为具有访问权限(例如,不在BUILTIN\Administrators组中)。因此,解决方法是将AppPool身份更改为域中的某些管理员用户。或更新SSRS设置以包括当前的AppPool Identity用户。
唐·奇德尔

5

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


5

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

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

5

我使用了以下步骤,它正在为我工​​作。

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

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

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

然后:

  1. 复制了报表服务器的URL
  2. 以管理员身份运行Google chrome / Internet Explorer
  3. 将网址粘贴到地址栏中,然后按Enter。

对于我在Internet Explorer和Google Chrome上运行正常,但对mozilla Firefox则不行。

在Firefox询问用户名和密码的情况下,我提供了它,但是它不起作用。我是管理员,拥有全部权利。

我完成了1个更改设置“用户帐户控制设置”,以永不通知。

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

  1. 使用管理员权限打开Goog​​le chrome / Internet Explorer。
  2. 在其中打开报表服务器URL。

3.单击“新建角色分配”,然后输入用户名并选择“角色”。在此处输入图片说明

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

4

以管理员身份打开Internet Explorer。

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

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


4

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

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

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


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以便首先连接到服务器然后浏览到报告URL时,我就进行了心理记录。 。


3

问题:

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

解:

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


2

对我有用的是:

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

1
在导入同事的数据库的情况下,这也对我有用。
malckier 2015年

2

这对我有用--转到报表管理器,检查站点设置->安全->新角色分配->添加用户

此外,请转到报表管理器中的数据集->您的报表数据集->安全->新角色分配->添加具有所需角色的用户。

谢谢!


2

我知道这已经很久了,但可能会对其他新手有所帮助,

我决定在请求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提示时,请输入以下代码

 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);

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


1

就像Nasser一样,我知道这已经有一段时间了,但是我想将我的解决方案发布给以后遇到此问题的任何人。

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

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

希望这早晚能对某人有所帮助!


1

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

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

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


1

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


1

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

确保您签出以下URL:

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

然后选择 Folder Settings

资料夹设定

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

在此处输入图片说明


0

对我有用的是:

  • 转到网站设置
  • 单击“配置站点范围的安全性”
  • 点击顶部栏中的“新角色分配”按钮
  • 为新角色赋予以下名称“所有人”
  • 在可用角色中,仅将其授予“系统用户”
  • 点击“应用”

那应该做的

祝好运!


0

尽管Administrators组现有成员身份,但以管理员身份运行BIDS。


1
无需以管理员身份运行,另一个答案是通过为需要生成报告的用户提供正确的特权来提供更好的解决方案。如果可以避免,以管理员身份运行永远不是一个好主意。
Paul Hiemstra
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.