【发布时间】:2019-10-16 18:21:38
【问题描述】:
我已经在Server1 上配置了SSRS。
Server2 链接到 Server1 中的 sys.servers。
如果我运行Server1 对象,所有queries/reports 链接都可以正常运行
我想针对 Server2 对象运行报告
试试 1
我为Server2 创建了一个共享数据源,在共享数据集中构建了查询。
SELECT Field1 FROM Table1
a) 预览 - 运行良好
b)Server1/Reports 抛出此错误:
报告处理过程中发生错误。 (rsProcessingAborted) 共享数据集“table1”执行失败。 (rsDataSetExecutionError) 数据集的查询执行失败 '数据集 1'。 (rsErrorExecutingCommand) 有关此的更多信息 错误导航到本地服务器计算机上的报表服务器,或 启用远程错误
尝试 2 我尝试使用 Server1,并从那里链接。所以在创建数据集时,我使用Server1 作为源并构建了这个查询
SELECT Field1 FROM Server2.master.dbo.Table1
a) 预览运行良好
b) Server1/Reports 抛出与上述相同的错误
注意:将上述查询更改为 OPENQUERY 会产生相同的结果
如果我查看日志,它会说:
用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败
它可以连接到Server1 数据源(因为SSRS 安装在Server1 上),但无法连接到Server2。如何授予该用户对 Server2 的访问权限?
我如何解决上述问题,以便报告从Server1/Reports 也可以正常运行
注意:我使用的是 SQL Server 2017
【问题讨论】:
-
您是否有机会查看过动态连接字符串?
-
@Diego,我没有。但是,如果它在预览中工作,它不应该工作吗?而且我不需要在不同的服务器上运行一份报告。我只有 1 份需要从 Server2 运行的报告
-
使用什么样的认证方式?
-
@WolfgangKais ,Windows 身份验证。我用日志错误更新了帖子,如果有帮助的话
-
好的,谢谢。是否可以在共享数据源中使用修复凭据?
标签: reporting-services ssrs-2017