reporting-services - 远程链接服务器上的 SSRS 查询
问题描述
我已经SSRS
在Server1
.
Server2
链接到Server1
in 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
解决方案
您正在为报表服务器使用 Windows 身份验证,并再次在共享数据源中使用。这意味着登录的用户令牌被传递到第二个跃点 Server2。为此,您必须启用 Active Directory 委派。
请联系您的网络管理员并要求他们在 Server1 上配置(至少受约束的)委派,以允许委派连接到 Server2(至少连接到 SQL Server 服务)。
推荐阅读
- laravel - Laravel 管理路线不是由 laravel 6 处理的
- python - 检查 CSV 在 Python 中是否存在类似的值
- node.js - 部署到 nginx Web 服务器时出现 502 bad gateway 错误
- php - Laravel 在数据库事务中将 id 设置为另一个表
- html - 表格内容的对齐方式
- concurrency - 关系信号量、互斥体、监视器、测试和设置和消息传递
- oracle - 创建视图时权限不足错误
- python - Jupyter Notebook 小部件:如何制作“键入时过滤”文本框?
- fedora - 如何在 Amazon Fedora EC2 实例中找出我想用 Yum 删除的包的名称
- asp.net-core - 如何在 .Net Core 中返回错误状态代码 401 的自定义错误消息?