質問: ### 前提・実現したいこと * Windows2003Server32bit * SQLServer2008R2 のサーバーを * Windows2012Server64bit * SQLServer2014 にリプレイスすることになり、VB.NETを利用したWebアプリケーションと ReportingServiceをあわせて移行することになりました。 サーバーは1台から1台への移行です。 移行について、 Webの画面およびReportingServiceの帳票画面が 表示するところまではできたのですが、 一部の帳票で、旧サーバーより新サーバーのほうが 表示に時間がかかるようになりました。 処理時間を旧サーバーと同等かそれより短縮させたいのですが、 パフォーマンス絡みの対応方法がわからず行き詰っております。 ### 発生している問題・エラーメッセージ たとえば、 旧サーバーで、5秒から6秒で表示していた帳票が 新サーバーで、2分30秒かかっています。 WindowsServer、SQLServer、ReportingServiceの 設定等で確認したほうがよい項目や参考情報等、 ご存知でしたら教えて頂きたいです。 ### 試したこと 下記サイトに記載されていたことをいくつか試しました。 https://blogs.msdn.microsoft.com/dataplatjp/2016/10/28/sql-server-2016-%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E6%99%82%E3%81%AE%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E3%83%99%E3%82%B9%E3%83%88/ 1. SQL Server サービスアカウントの設定 メモリ内のページのロック [コンピュータの構成] → [Windows の設定] → [セキュリティの設定] → [ローカルポリシー] → [ユーザー権限の割り当て] → [メモリ内のページロック] 権限を SQL Server 起動アカウントに付与 2. 電源設定 コントロールパネル⇒システムとセキュリティ⇒電源オプション 高パフォーマンスに変更 この1・2の対応で、2分30秒から2分に短縮できております。 また、tempdbのファイルをCPU数もしくは8の倍数に設定するとよいという情報がありましたので、1から8に変更しましたが、こちらでは短縮できませんでした。 ReportServerデータベースの「ExecutionLogStorage」テーブルで 遅い帳票の「TimeDataRetrieval」が旧サーバーと新サーバーで 差が大きくなっています。 旧サーバー:2928ms 新サーバー:111720ms この項目はデータの取得にかかった時間のようですが、 帳票表示で実行するクエリをSQLServerManagementStudioで実行しても 数秒(5秒程度)で結果が返ってきています。 何が原因なのかどうアプローチしたらよいのかわからない状態です。
回答: こんばんは。 今使っている立場ではないのですが、少しでもお役に立てたらと思いまして、コメントしますね。 データは新しいDBに移行されたと思いますので、内容としては変わらないとしまして...。 こんなスレッドがありましたので添えてみます。 (1) 2008 -> 2012 / 2014へ移行後遅くなった事例 おなじような事例だと思いますので、MSDNのフォーラムのものを貼っておきます。 ログに何か情報が出ているかもしれませんね。 https://social.msdn.microsoft.com/Forums/sqlserver/en-US/e04b3925-4eb2-4216-8669-b610a9d9cdd0/ssrs-report-rendering-is-slow-in-2014-ssrs-server?forum=sqlreportingservices (2) レポート定義ファイルを新しくする レポート定義ファイルはSQL Server2008の時に作成したものをそのまま利用している形でしょうか。 バックアップなど保持した上で、2014の形式にアップグレードしてみては如何でしょうか。 そのままでは定義ファイルはアップグレードされないようです。 (的を外していたらすみません。また、十分バックアップしてください) https://stackoverflow.com/questions/16030633/sql-server-reporting-services-very-slow-after-migration