105

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

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

4

21 回答 21

100

这是因为您运行报表生成器的用户没有权限,只需授予该用户或组运行报表生成器的权限即可。请访问这篇文章

或快捷方式:

  1. 使用“以管理员身份运行”启动 Internet Explorer
  2. 打开http://localhost/reports
  3. 转到属性选项卡 (SSRS 2008)
  4. 安全性->新角色分配
  5. 添加 DOMAIN/USERNAME 或 DOMAIN/USERGROUP
  6. 检查报告生成器
于 2011-06-20T06:23:16.060 回答
18

我知道这是很久以前的事了,但是您(或任何其他新来者)可以通过以下方式解决此问题

  1. 将 [Domain\User] 添加到AdministratorIISUserSQLReportingUser
  2. 删除SSRS 配置工具中的加密密钥
  3. 在 SSRS 配置工具中重新运行数据库更改
  4. 从 SSRS 配置工具打开WebServiceUrl ( http://localhost/reportserver )
  5. 手动创建报告文件夹
  6. 转到已创建文件夹的属性并将这些角色添加到安全性(builtin\users、builtin\Administrator、domain\user
  7. 部署您的报告并解决您的问题
于 2010-06-09T06:40:10.583 回答
18

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

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

于 2012-07-06T15:40:00.037 回答
13

确保您已使用 SQL Reporting Services 配置配置了对 URL http://localhost/reports的访问权限。去做这个:

  1. 打开 Reporting Services 配置管理器 -> 然后连接到报表服务器实例 -> 然后单击报表管理器 URL。
  2. 在 Report Manager URL 页面中,单击 Advanced 按钮 -> 然后在 Report Manager 的 Multiple Identities 中单击 Add。
  3. 在 Add a Report Manager HTTP URL 弹出框中,选择 Host Header 并输入:localhost
  4. 单击确定以保存您的更改。
  5. 现在使用 Run as Administator 启动/运行 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 用于“域\用户名”,在您的情况下,您可以找到域\username 为您的计算机在 rsAccessDenied 错误消息中)。
  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

于 2015-08-26T11:58:43.577 回答
6

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

  1. 转到 IIS 管理器

  2. 单击应用程序池

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

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

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

在流程模型下是身份字段

于 2011-03-31T17:03:48.957 回答
6

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

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

在 Report Manager URL 页面中,单击 Advanced 按钮 -> 然后在 Report Manager 的 Multiple Identities 中单击 Add。

在 Add a Report Manager HTTP URL 弹出框中,选择 Host Header 并输入: localhost 单击 OK 保存更改。

然后:

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

它在 Internet Explorer 和 Google Chrome 上运行良好,但不适用于 mozilla Firefox。

如果 Firefox 要求输入用户名和密码,我会提供它,但它不起作用。我是管理员,拥有完全的权利。

我已经完成了 1 个更改集“用户帐户控制设置”以从不通知。

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

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

3.单击“新角色分配”添加,然后输入用户名并选择角色。在此处输入图像描述

  1. 点击确定。
  2. 现在从 Visual Studio 部署报告,它将工作并在指定的服务器上部署报告。
于 2016-01-31T19:00:56.760 回答
5

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

  • 将 NT 用户添加到 SQL 报表服务器用户和 IIS_USR 组
  • 我将 SQL 报告服务更改为本地帐户(它是具有本地管理员的域)
  • 我删除了 Reporting Services 配置中的加密密钥(列表中的最后一个选项卡)
  • 然后它起作用了。
于 2009-08-24T23:22:56.550 回答
5

在报告管理器中的站点设置>配置系统级角色定义>检查执行报告定义选项,然后创建系统用户组,在服务器属性中的连接到您的报告服务数据库中授予对该组的访问权限,然后添加一个组并允许访问权限为系统用户...它应该工作

于 2008-12-09T21:34:26.127 回答
5

以管理员身份打开 Internet Explorer。

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

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

于 2014-07-09T07:03:06.400 回答
4

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

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

不能说我对这个解决方案感到满意,但我需要一些行之有效的东西。希望这对其他人有帮助。

于 2015-05-22T18:57:45.890 回答
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 时,我都会在心里记下.

于 2017-04-25T13:51:23.573 回答
3

问题:

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

解决方案:

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

于 2014-02-23T01:31:35.863 回答
2

对我有用的是:

Open localhost/reports
Go to properties tab (SSRS 2008)
Security->New Role Assignment
Add DOMAIN/USERNAME or DOMAIN/USERGROUP
Check Report builder
于 2014-03-12T10:20:52.457 回答
2

报表可能想要访问 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权限。

在此处输入图像描述

于 2019-01-14T14:00:32.690 回答
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 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 文件中定义。

于 2016-10-24T14:29:47.873 回答
2

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

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

谢谢!

于 2016-03-11T22:57:08.883 回答
1

就像 Nasser 一样,我知道这是不久前的事,但我想为将来遇到此问题的任何人发布我的解决方案。

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

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

希望这迟早会对某人有所帮助!

于 2013-07-26T17:54:49.860 回答
1

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

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

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

于 2013-09-25T18:07:22.733 回答
1

感谢分享。挣扎了 1.5 天后,发现 Report Server 配置了错误的域 IP。它配置了离线的备份域 IP。我在未列出域名的用户组配置中确定了这一点。更改 IP 并重新启动报告服务器。问题解决了。

于 2016-01-05T10:05:44.923 回答
0

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

于 2012-05-03T07:02:47.017 回答
0

对我有用的是:

  • 进入网站设置
  • 单击“配置站点范围的安全性”
  • 单击顶部栏中的“新角色分配”按钮
  • 将新角色命名为“所有人”
  • 在可用角色中,仅授予它“系统用户”
  • 点击“申请”

应该这样做,

祝你好运!

于 2009-09-04T02:23:03.460 回答