【发布时间】: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