パフォーマンスチューニングなどのために、Azure SQL Databaseで実行されているクエリの実行プランがどうなっているか調べたいことがある。このような場合、SQL Server Management Studioを利用すると、GUIで簡単に調査を進められる。
対象サービス/ソフトウェア:Microsoft Azure、SQL Database、SQL Server Management Studio(SSMS)
Azure SQL Databaseのトラブルシューティングでは、クエリの実行プランを詳しく調べると解決方法が見つかることがある。代表的なのは、クエリが遅いのでパフォーマンスチューニングしたい、という場合だ。
実行プランに含まれるクエリのT-SQLを確認したいなら、AzureポータルのSQL Databaseブレードにある[Query Performance Insight]が手軽で便利だ。
ただし、これだと実行プランの細かい内容までは分からない。
そこでSQL Server Management Studio(SSMS)を利用すれば、Azure SQL Databaseの実行プランを詳しく調査できる。本稿では、その作業手順や機能の概要について説明する。
まずはTIPS「Azure SQL DatabaseにSQL Server Management Studio(SSMS)で接続して管理する」のように、SQL Server Management Studio (SSMS)からAzure SQL Databaseに接続する。
このとき、SSMSのバージョンが古いと機能不足により、この後に紹介する手順では実行プランを調査できないことがある。必ずバージョン16.5(SQL Server 2016に該当)か、それより新しいバージョンを使用すること。
接続したら、左ペインの[<サーバ名>]−[データベース]−[<データベース名>]−[クエリ ストア]以下を展開する。例えば実行時間が長かったクエリを調べるには、[後退したクエリ]をダブルクリックする。
実行プランが表示されたら、各ノード(演算子)にマウスカーソルを乗せてみよう。すると、そのコストや予測実行回数、T-SQLのコンパイル結果といった詳細が表示される。
クエリには複数の実行プランが含まれていることがよくある。どのプランが最適なのか調べるには、以下のようにプラン同士を細かく比較できる機能が便利だ。プランを比較して、最適なものを選んでクエリに強制適用することも可能だ。
■関連リンク
Copyright© Digital Advantage Corp. All Rights Reserved.