以前も 途中まで 作ったことがあるのですが、SSMS のカスタムレポートを Report Builder を使って作っています。
日本語だと情報が少ないですが、英語だとカスタムレポートの情報は結構あるようですね。
私は以下の情報から追えるものを参考にさせていただいています。
Adding Custom Reports to SQL Server Management Studio
SQL Server Reporting Services Product Samples
まだ作成中ですが、SSMSCustomReport で公開しています。
SSMS 向けのカスタムレポートですので、SSMS 上で SQL Server の各種情報を取得できるようにしています。
# SQL Server 2012 + SQL Server 2014 の SSMS で確認しています。
右クリックのメニューから「レポート」→「カスタム レポート」を選択し、公開している RDL を開けば SSMS 上で上記の図のようにレポートが開けるかと。
現状は、インスタンスの基本的な情報とデータベースのファイル使用状況のみですが、最終的には、Gist で公開している各種クエリの情報も組み込もうと思っています。
カスタムレポートといえば、MicrosoftR SQL ServerR 2012 Performance Dashboard Reports が有名ですが、こちらに近いような形で自分が取得しているものを組み込んでいければと。
これを機会にレポート作成も勉強しようかと。
本ブログ大変有意義な情報があり、とても助かっています。
特に下記GITHUBにて公開されております
「クエリ情報 (TOP 100)」は「時間のかかっているSQL」を
抽出するために重宝しております。
https://github.com/MasayukiOzawa/SQLServer-CustomReport
1つ質問なのですが、このカスタムレポート(QueryInfo.rdl)は
OracleのStatspackのように情報採取を行う期間を指定することは
出来ますでしょうか?
別途下記URLにて公開されておりますMonitorDBを改修して
dm_exec_query_stats、dm_exec_sql_text、dm_exec_query_planを
1時間おきに取得するのかと…思っていますが、
もし何か別の手段がありましたらご教示いただけると幸甚です。
https://blog.engineer-memo.com/?s=monitordb
以上宜しくお願いいたします。
ありんこ
21 9月 20 at 18:48
ブログ大変有意義な情報がありとても助かっています。
特に下記GITHUBにて公開されております
「クエリ情報 (TOP 100)」は「時間のかかっているSQL」を
抽出するために重宝しております。
https://github.com/MasayukiOzawa/SQLServer-CustomReport
1つ質問なのですが、このカスタムレポート(QueryInfo.rdl)は
OracleのStatspackのように情報採取を行う期間を指定することは
出来ますでしょうか?
別途下記URLにて公開されておりますMonitorDBを改修して
dm_exec_query_stats、dm_exec_sql_text、dm_exec_query_planを
1時間おきに取得するのかと…思っていますが、
もし何か別の手段がありましたらご教示いただけると幸甚です。
https://blog.engineer-memo.com/?s=monitordb
以上宜しくお願いいたします。
ありんこ
21 9月 20 at 18:51
カスタムレポートについては、メモリ上にキャッシュされている情報を取得しているだけですので、採取期間を指定する必要がある場合には、何らかの方法で定期的に情報をダンプする必要があります。
SQL Server 2016 以降でしたらクエリストアに、一定の期間の情報が集計されていますので、そちらの情報を基にしたカスタムレポートを実装すれば特定の期間の情報を可視化することはできるかと。
それより前のバージョンでしたら、1 時間起きに情報を取得する等を検討する必要があるかと思います。
Masayuki.Ozawa
24 9月 20 at 21:15