【问题标题】:SSRS 2017 subscriptions stopped working after installing KB4583457安装 KB4583457 后 SSRS 2017 订阅停止工作
【发布时间】:2021-02-02 19:30:07
【问题描述】:

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

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

  • 程序文件中的 SSRS 日志 - 没有。
  • Windows 事件日志 - 没有相关内容。
  • SQL 配置管理器 - 所有服务(SQL Server Browser 除外)都已启动并运行。
  • Reporting Services 配置管理器 - 没有任何变化,一切正常。
  • SSRS Web 门户 - 报告按预期工作,包括导出为各种格式。
  • 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

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

【问题讨论】:

  • 由于这是一个安全更新,我会尝试将您的数据源上的用户设置为其他人,然后恢复原状。代理工作也是如此。可能会在某处覆盖某些 xml 配置中的错误数据。
  • 您是否尝试过在另一台机器或虚拟机上运行SQLServer2017-KB4583457-x64.exe /?,看看它支持哪些参数?可以将许多 MS 补丁提取到一个文件夹中,以便您可以检查它们包含的文件和配置。

标签: sql-server reporting-services upgrade sql-server-2017 sql-agent-job


【解决方案1】:

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

重要的是要注意,如果我们查看了 Program files 文件夹中的 SSRS 日志,不仅是当天的,还有旧的。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-16
    • 2018-04-22
    • 1970-01-01
    • 2020-11-18
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 2022-08-24
    相关资源
    最近更新 更多