症状
假设你为 SQL Server 2016 Reporting Services 报表配置 AutoRefresh 属性,以便其数据可以自动更新。 当您在 web 浏览器中打开报表,然后让浏览器空闲一段时间时,您会收到一条类似于以下内容的错误消息:
报表执行 session_id 已过期或找不到。 (rsExecutionNotFound)
此外,Reporting Services 服务跟踪日志中记录类似于以下内容的错误消息:
库!ReportServer_0-2!2258!日期时间:: i 信息:调用 GetPermissionsAction (/USERIDAutoRefresh)类库!ReportServer_0-2!2258!日期时间:: i 信息:调用 GetSystemPropertiesAction ()库!ReportServer_0-2!2258!日期时间:: i 信息:调用 GetPropertiesAction (/USERIDAutoRefresh,PathBased)。库!ReportServer_0-2!2258!日期时间:: i 信息:调用 GetSystemPermissionsAction ()库!ReportServer_0-2!22b8!日期时间:: i 信息:调用 GetSystemPropertiesAction ()库!ReportServer_0-2!22b8!日期时间:: e 错误:引发 ReportingServices:,报表服务器数据库中出现错误。 这可能是由于数据库中的连接故障、超时或磁盘空间不足所致。时段!ReportServer_0-2!22b8!日期时间:: e 错误:获取会话数据时出错:会话 SESSION_ID 不属于 NT Service\ReportServersession!ReportServer_0-2!22b8!日期时间:: i 信息: LoadSnapshot:包含会话的项目: session_id,ReportPath:/USERIDAUTOREFRESH,userName: NT Service\ReportServer 在 databaselibrary 中找不到!ReportServer_0-2!22b8!日期时间:: e 错误:引发 ReportingServices。 ExecutionNotFoundException:报表执行 session_id 已过期或找不到该应用程序。请参阅 "ExecutionNotFoundException"。system.webserver!ReportServer_0-2!22b8!日期时间:: e 错误: Reporting Services 错误 ReportingServices。 ExecutionNotFoundException:报表执行 session_id 已过期或找不到。
解决方案
针对此问题的修复包括在 SQL Server 的以下累积更新中:
SQL Server 2016 的累积更新1注意 应用此更新后,报告服务日志将提供有关会话为管理员诊断并解决基础问题的原因的更详细信息。
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的 术语 。