【问题标题】:SSRS query on remote linked server远程链接服务器上的 SSRS 查询
【发布时间】:2019-10-16 18:21:38
【问题描述】:

我已经在Server1 上配置了SSRSServer2 链接到 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


【解决方案1】:

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

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

【讨论】:

  • 我创建了一个服务帐户。门户网站在哪里?是在 Reporting Services 配置管理器 Web 门户 URL 中吗?
  • 是的,就是网址。您必须为服务帐户启用委派,而不是为计算机启用委派。祝你好运! :-)
猜你喜欢
  • 2011-07-15
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多