SSRS 2017 订阅在安装 KB4583457 后停止工作

问题描述

两周前,我们在 sql Server 2017 Standard (14.0.3294.2) 上安装了 KB4583457。出于某种原因,它破坏了 sql Server 的系统数据库中的某些内容,服务器变得不可用。我们必须卸载此更新才能解决此问题。它帮助了一切,除了 SSRS 订阅,一切又开始正常工作了。但是从那时起 SSRS 订阅就变得很奇怪了。没有发送电子邮件,如果我们尝试手动触发任何订阅(使用 [立即运行] 按钮),它不起作用,或者更准确地说 - 它卡在“正在运行”状态。

我意识到我们的 sql Server/SSRS 实例可能有问题。但是,如果有人可以提出想法或建议我们可以检查的其他内容,我将不胜感激。以下是我们目前检查的内容

  • 程序文件中的 SSRS 日志 - 什么都没有。
  • Windows 事件日志 - 没有任何相关内容
  • sql 配置管理器 - 所有服务(sql Server 浏览器除外)都已启动并正在运行。
  • Reporting Services 配置管理器 - 没有任何变化,一切正常。
  • SSRS 网络门户 - 报告按预期工作,包括导出为各种格式。
  • SSRS API - 没有问题。
  • SSRS 订阅创建的 sql 代理作业的历史记录 - 所有作业继续按计划运行。因此,sql 代理作业的历史记录与任何订阅的“上次运行”列中 SSRS 门户上显示内容不一致。
  • 链接到 SSRS 订阅的所有 sql 代理作业的所有者是“NT SERVICE\sqlServerReportingServices”,它对 reportserver 和 ResportServerTemp 数据库具有 db_owner 权限。
  • reportserver 数据库 - 我们使用下面的脚本来查找任何可能为我们指明正确方向的线索。但它没有显示任何有用的错误消息。
select 
    c.Name as Report,s.LastRunTime,s.SubscriptionID,s.*
from  [reportserver].[dbo].[Subscriptions] as S
    inner join [reportserver].[dbo].[Catalog] as c
        on c.ItemID = s.Report_OID
order by s.LastRunTime desc

如果有人有任何其他想法,请随时分享

解决方法

谢谢,原来问题与 NT Service\SQLServerReportingServices 用户的权限有关。下面的屏幕截图显示了必须更新的内容 - 对 dbo.sp_verify_job_identifiers 存储过程的执行权限。希望它可以节省一些人几个小时甚至几天的时间。

Required changes of NT Service\SQLServerReportingServices permissions on sp_verify_job_identifiers

重要的是要注意,如果我们不仅查看了当天以及旧的 Program files 文件夹中的 SSRS 日志,我们将能够更早地确定根本问题。

C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\LogFiles