You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查看SSRS 2019订阅时出现HTTP Error 401的故障排查求助

2023-05-26 09:02:18.9728|ERROR|229|OData exception occurred: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Net.WebException: The request failed with HTTP status 401: Unauthorized.
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

SQL Server 2019 SSRS订阅查看401未授权故障排查思路

针对SQL Server 2019环境下SSRS仅订阅查看功能报401错误、其余功能正常的情况,核心问题是RS Portal调用SSRS Web Service的SOAP接口时身份验证失效,以下是具体排查步骤:

  • 检查SSRS服务账户权限
    打开服务管理器,找到SQL Server Reporting Services服务,确认其登录账户:

    • 该账户需加入本地Report Server组
    • 直接访问SSRS Web Service地址(默认http://<服务器名>/ReportServer),验证是否能正常访问无授权报错
  • 核对RS Portal配置文件
    定位到RSPortal.exe.config(默认路径:C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\Portal),检查:

    • ReportServerUrl配置的地址是否正确,需指向SSRS Web Service的根路径
    • AuthenticationTypes配置需与SSRS Web Service的身份验证模式一致(如Windows身份验证对应Windows)
  • 验证SSRS Web Service身份验证设置
    打开SSRS配置管理器:

    • 进入「Web服务URL」,确认URL可正常访问,无端口或路径错误
    • 进入「身份验证」,确认启用的验证模式未被误改,且与Portal配置匹配
  • 排查Kerberos配置(若用Windows身份验证)
    若SSRS依赖Kerberos:

    • 用setspn -L <服务账户>命令检查是否注册了正确的SPN,需包含HTTP/<服务器名>和HTTP/<服务器FQDN>
    • 确认RS Portal运行账户(默认NT SERVICE\ReportingServicesPortal)拥有向SSRS服务委派身份的权限
    • 用klist purge清除票据后重新测试,查看是否能生成有效Kerberos票据
  • 检查RS Portal运行账户权限
    针对默认的NT SERVICE\ReportingServicesPortal账户:

    • 确认其对SSRS Web Service的IIS虚拟目录有读取权限
    • 验证该账户在SSRS配置数据库(ReportServer、ReportServerTempDB)中拥有RSExecRole角色权限
  • 直接测试SOAP接口
    访问http://<服务器名>/ReportServer/ReportService2010.asmx,调用ListSubscriptions方法,传入目标报表的完整路径,若仍返回401,说明问题出在SSRS Web Service本身而非Portal的调用逻辑


内容的提问来源于stack exchange,提问作者Ed Mozley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 00:32:32