我使用SSRS(2005)创建了一个报告模型并发布到本地服务器。但是,当我尝试使用报表生成器发布的模型运行报表时,出现以下错误。
报告执行错误:授予用户的权限不足以执行此操作。 (rsAccessDenied)
答案 0 :(得分:86)
这是因为您正在运行报表生成器的用户缺少权限,只需为该用户或组授予运行报表生成器的权限。 请访问此article
或者为了捷径:
答案 1 :(得分:18)
我知道很久以前,但是你(或任何其他新来的人)可以解决这个问题
答案 2 :(得分:18)
右键单击Microsoft BI - >单击以管理员身份运行 - >要么打开现有的SSRS报告,要么创建新的SSRS报告,然后在报告完成后部署报告,您将收到一个用于查看报告的网址。复制该URL并粘贴到Web浏览器(以管理员身份运行),您将获得报告视图。 您可以使用Internet Explorer,这对Web服务至关重要
如果这是错误的意思,请原谅我,因为我喜欢这样,所以我写的。
答案 3 :(得分:8)
确保使用SQL Reporting Services配置将访问权限配置为URL http://localhost/reports。要做到这一点:
只是为了让您知道本教程是在具有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错误所必须做的事情:
答案 6 :(得分:5)
您还可以确保应用程序池中的标识具有正确的权限。
转到IIS管理器
单击“应用程序池”
在
检查身份是否已设置为具有管理员权限的某个服务帐户或用户帐户
您可以通过停止池,右键单击它,然后选择高级设置来更改身份...
在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 单击“确定”保存更改。
然后:
它在Internet Explorer和Google Chrome上运行正常,但不适用于Mozilla Firefox。
如果Firefox要求输入用户名和密码,我提供它但不起作用。我是管理员,并且完全正确。
我还做了一个更改集“用户帐户控制设置”,从不通知。
如果从Visual Studio部署此报告时遇到此类异常,请执行以下操作:
答案 9 :(得分:4)
旧但相关的问题。我通过登录报告服务器解决了2012年问题:
不能说我对这个解决方案感到满意,但是我需要一些有效的方法并且有效。希望这有助于其他人。
答案 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
(或适当的个人DataSource
或DataSet
),然后选择Security
。该用户组需要具有Browser
权限。
答案 19 :(得分:0)
尽管管理员组已成为会员,但仍以管理员身份运行BIDS。
答案 20 :(得分:0)
对我有用的是:
应该这样做,
祝你好运!