首页 > 解决方案 > 远程链接服务器上的 SSRS 查询

问题描述

我已经SSRSServer1. Server2链接到Server1in sys.servers

queries/reports如果我运行Server1对象,所有链接都运行良好

我想对Server2对象运行报告

尝试 1 我创建了一个共享数据源Server2,以在共享数据集中构建查询。

SELECT Field1 FROM Table1

a) 预览 - 运行良好

b)Server1/Reports抛出此错误:

报告处理过程中发生错误。(rsProcessingAborted) 共享数据集“table1”的执行失败。(rsDataSetExecutionError) 数据集“DataSet1”的查询执行失败。(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

标签: reporting-servicesssrs-2017

解决方案


您正在为报表服务器使用 Windows 身份验证,并再次在共享数据源中使用。这意味着登录的用户令牌被传递到第二个跃点 Server2。为此,您必须启用 Active Directory 委派。

请联系您的网络管理员并要求他们在 Server1 上配置(至少受约束的)委派,以允许委派连接到 Server2(至少连接到 SQL Server 服务)。


推荐阅读