KB4024563 - 修正: SQL Server 2014 または 2016 でページの高さが 8.5 インチに設定されている場合、SSRS レポートを .pdf ファイルにエクスポートすると、ハンドルされない例外が発生する

適用先
SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use)

現象

Microsoft SQL Server 2014 または 2016 Reporting Services (SSRS) を使用してレポートを .pdf ファイルにエクスポートすることを想定しています。 ページの高さが 8.5 インチに設定されている場合、ハンドルされない例外が発生する可能性があります。 さらに、次のようなエラー メッセージがレポート サービスのエラー ログに記録されます。

注

reportrendering!ReportServer_0-485!f60!date-time:: e エラー: Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException をスローしています: , Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: レポートのレンダリング中にエラーが発生しました。 ---> Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException: レポートのレンダリング中にエラーが発生しました。 ---> System.IndexOutOfRangeException: インデックスが配列の境界外にありました。
   at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessTablixContainer(RPLTablix tablix, RectangleF position, Single[] rowStarts, Single[] columnStarts)
   at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessReportItem(RPLItemMeasurement measurement, RectangleF bounds, Boolean renderBorders, RectangleF styleBounds, Boolean renderStylesOnBounds, Boolean hasTablixCellParent)
   at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessNonTablixContainerReportItems(RPLContainer container, RectangleF bounds)
   at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessReportItem(RPLItemMeasurement measurement, RectangleF bounds, Boolean renderBorders, RectangleF styleBounds, Boolean renderStylesOnBounds, Boolean hasTablixCellParent)
   at Microsoft.ReportingServices.Rendering.ImageRenderer.Renderer.ProcessPage(RPLReport rplReport, Int32 pageNumber, FontCache sharedFontCache, List'1 glyphCache)
   at Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer.Render(Report report, NameValueCollection deviceInfo, Hashtable renderProperties, CreateAndRegisterStream createAndRegisterStream)
   at Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream)
   --- 内部例外スタック トレースの終わり ---
   at Microsoft.ReportingServices.Rendering.ImageRenderer.RendererBase.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream)
   at Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.InvokeRenderer(IRenderingExtension renderer, Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection clientCapabilities, Hashtable& renderProperties, CreateAndRegisterStream createAndRegisterStream)
   at Microsoft.ReportingServices.ReportProcessing.Execution.RenderReport.Execute(IRenderingExtension newRenderer)
   --- 内部例外スタック トレース ---の終わり。
ライブラリ!ReportServer_0-485!f60!date-time:: i 情報: ダンプ結果: 外部ダンプ プロセスの戻りコード 0x20000001。

解決策

この問題は、次の SQL Server の累積的な更新プログラムで修正されています。

SQL Server 2016 RTM の累積的な更新プログラム 8

SQL Server 2016 SP1 の累積的な更新プログラム 5

SQL Server 2014 Service Pack 2 の累積的な更新プログラム 6

SQL Server 用の累積的な更新プログラムについて

SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 SQL Server の最新の累積的な更新プログラムを確認してください。

SQL Server 2016 の最新の累積的な更新プログラム

SQL Server 2014 の最新の累積的な更新プログラム

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。