Grow up

生活とプログラミング

SQL Server 実行プランの表示方法

f:id:knkomko:20200329202051p:plain:w500

はじめに

SQLのパフォーマンスを向上させる必要が出てきました。
そこで必要となる実行プランを表示する方法をまとめます。
実行プランは「図」と「テーブル」の形式で表示できます。
またadmin以外のアカウントが使用するためには権限が必要です。

実行プランを表示するツール

SQL Server Management Studioを使用します。
f:id:knkomko:20200329202924p:plain:w350

図の形式で表示

ツールバーの赤枠で囲った部分を左クリックします。
これで次からSQLを実行した時の実行計画を保存します。
f:id:knkomko:20200329201558p:plain:w350

SQLを実行すると「実行プラン」タブに図の形式で表示されます。
f:id:knkomko:20200329202051p:plain:w350

図にマウスカーソルを重ねると実行プランの詳細が確認できます。
f:id:knkomko:20200329202516p:plain:w350

テーブルの形式で表示

表示を有効にするには以下のコマンドを実行します。

SET STATISTICS PROFILE ON

f:id:knkomko:20200329203735p:plain:w350

以降SQL実行すると「結果」タブにテーブルの形式で表示されます。
f:id:knkomko:20200329203625p:plain:w350

最後に表示を無効にします。

SET STATISTICS PROFILE ON

f:id:knkomko:20200329204150p:plain:w350

アカウントに必要な権限

接続アカウントがadminでない場合は接続の権限が必要です。
今回は「Makoto」のアカウントに接続の権限を与えます。

管理ツールを使用します。
f:id:knkomko:20200329202924p:plain:w350

セキュリティ→ログイン→アカウント名を右クリックで「プロパティ」を開く。
f:id:knkomko:20200329210037p:plain:w350

「ユーザーマッピング」を左クリックします。
f:id:knkomko:20200329210142p:plain:w350

実行プランを確認するデータベースの「マップ」をチェックします。
f:id:knkomko:20200329210659p:plain:w350

「既定のスキーマ」の[...]を左クリックします。
f:id:knkomko:20200329210902p:plain:w350

[追加]を左クリックします。
f:id:knkomko:20200329210809p:plain:w350

接続権限となる「dbo」を入力して[OK]を左クリックします。
f:id:knkomko:20200329211049p:plain:w350

[OK]を左クリックします。
f:id:knkomko:20200329211025p:plain:w350

データベースに必要な権限

接続アカウントがadminでない場合は「選択」「実行プラン」の権限が必要です。
今回は「Makoto」のアカウントに「選択」「実行プラン」の権限を与えます。

データベース→使用するデータベース名を右クリックで「プロパティ」を開く。
f:id:knkomko:20200329211459p:plain:w350

「権限」を左クリックし、権限を与えるアカウントを選択します。
f:id:knkomko:20200329212301p:plain:w350

「選択」の「許可」にチェックします。
f:id:knkomko:20200329211922p:plain:w350

「プラン表示」の「許可」にチェックします。
f:id:knkomko:20200329211727p:plain:w350

[OK]ボタンを左クリックします。
f:id:knkomko:20200329212347p:plain:w350