症狀
假設您為 SQL Server 2016 Reporting Services 報表設定 AutoRefresh 屬性,以便自動更新其資料。 當您在網頁瀏覽器中開啟報表,然後讓瀏覽器閒置一段時間時,您會收到類似下列的錯誤訊息:
注意
報表執行 session_id 已過期或找不到。 (rsExecutionNotFound)
此外,類似下列的錯誤訊息會記錄在 Reporting Services 服務追蹤記錄檔中:
注意
圖書館!ReportServer_0-2!2258!日期時間:: i 資訊:呼叫 GetPermissionsAction (/USERIDAutoRefresh) 。
圖書館!ReportServer_0-2!2258!date time:: i 資訊:呼叫 GetSystemPropertiesAction () 。
圖書館!ReportServer_0-2!2258!date time:: i 資訊: 呼叫 GetPropertiesAction (/USERIDAutoRefresh, PathBased) 。
圖書館!ReportServer_0-2!2258!日期時間:: i 資訊:呼叫 GetSystemPermissionsAction () 。
圖書館!ReportServer_0-2!22b8!date time:: i 資訊:呼叫 GetSystemPropertiesAction () 。
圖書館!ReportServer_0-2!22b8!日期時間:: e 錯誤: 擲回 Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: ,報表伺服器資料庫發生錯誤。 這可能是由於資料庫內的連線失敗、逾時或磁碟不足造成的。
session!ReportServer_0-2!22b8!日期時間:: e 錯誤: 取得工作階段資料時發生錯誤: 工作階段 session_id 不屬於 NT Service\ReportServer
session!ReportServer_0-2!22b8!日期時間:: i 資訊: LoadSnapshot: 有工作階段的項目: session_id, reportPath: /USERIDAutoRefresh, userName: NT Service\ReportServer not found in database
圖書館!ReportServer_0-2!22b8!日期時間:: e 錯誤: 擲回 Microsoft.ReportingServices.Diagnostics.Utilities.ExecutionNotFoundException: , Microsoft.ReportingServices.Diagnostics.Utilities.ExecutionNotFoundException: 報告執行 session_id 已過期或找不到。;
網頁伺服器!ReportServer_0-2!22b8!日期時間:: e 錯誤: Reporting Services 錯誤 Microsoft.ReportingServices.Diagnostics.Utilities.ExecutionNotFoundException: 報告執行session_id已過期或找不到。
解決方式
此問題的修正程式已包含在下列 SQL Server 累積更新中:
SQL Server 2016 累積更新 1
附註 套用此更新之後,Reporting Services 記錄會提供有關工作階段過期原因的詳細資訊,讓系統管理員診斷並解決基礎問題。
關於 SQL Server 的累積更新
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
瞭解 Microsoft 用來說明軟體更新的 術語 。