所以我们有一个SSRS SQL 2008R2服务器(AServer),我们已经部署了一些报告。有问题的报告在AServer上运行,并在BServer上运行存储过程以获取其数据集。在运行报告时,出现以下错误:SQL Server Reporting Services权限错误
An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for dataset 'ReportData'. (rsErrorExecutingCommand)
The EXECUTE permission was denied on the object 'pSomeStoredProc',
database 'SomeDb', schema 'dbo'.
我最大的问题是它不告诉我在什么级别权限被拒绝。报告在AServer上运行的帐户是否没有凭据可以转到BServer?它可以进入BServer,但仍然没有运行精确sproc的权限?用户的权限实际上是否将查看报告委派给BServer(我见过与IIS类似的voodoo)?
我已经尝试和失败在:
我的出发点是检查SQL日志中MSDB上看到的身份验证失败可能发生。在苦读这些日志时没有发现这样的运气。我期待像“INTRA \ sqlserviceaccount没有足够的权限来运行SomeDb.SomeProc”。
我的第二个目标是确保运行sql报告的帐户也在远程服务器上列出。它不是,所以我在AD中找到它并添加它。我还将它作为db_datareader和db_datawriter添加到了db中(不需要)(< ==)。
第三次攻击是为了确保RSExec角色在远程服务器上。这也没有效果,而且我对于实际上做的事情感到迷茫,除了耗尽我的服务器配置。
任何帮助,非常感谢。从报告(或共享数据集)在报告管理
@Byron Eargle圣洁的跳跃千斤顶,就是这样。当我查看sproc本身的privvies时,我没有看到我认为我拥有的sqlservice acct。我遵循了步骤1和2,然后完成了步骤3,现在它的行为正确。 – 2014-09-18 21:30:40