レッスン 3:DTA コマンド プロンプト ユーティリティの使用
適用対象: SQL Server
dta コマンド プロンプト ユーティリティは、データベース エンジン チューニング アドバイザーの機能以外にも機能があります。
データベース エンジン チューニング アドバイザーの XML スキーマを使用すれば、使い慣れた XML ツールで、このユーティリティへの入力ファイルを作成できます。 このスキーマは SQL Server のインストール時にインストールされ、C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\schemas\sqlserver\2004\07\dta\dtaschema.xsd に格納されます。
データベース エンジン チューニング アドバイザーの XML スキーマは、 Microsoft Web サイトから入手することもできます。
この XML スキーマにより、チューニング オプションをより柔軟に設定することができます。 たとえば、"what-if" 分析を実行できます。 "what-if" 分析とは、チューニングするデータベースに対して実在の物理設計構造と仮想の物理設計構造のセットを指定し、それをデータベース エンジン チューニング アドバイザーで分析する手法です。これにより、仮想的な物理設計がクエリ処理のパフォーマンスを向上させるかどうかを判断できます。 このタイプの分析には、実際に実装しなくても新しい構成を評価できるという利点があります。 仮想的な物理構造により十分にパフォーマンスが向上しなくとも、十分な結果が得られる構成になるまで再び構造を変えて分析するのは容易です。
また、データベース エンジン チューニング アドバイザーの XML スキーマと dta コマンド プロンプト ユーティリティを使用すると、データベース エンジン チューニング アドバイザーの機能をスクリプトに組み込み、そのスクリプトを他のデータベース設計ツールで使用することもできます。
データベース エンジン チューニング アドバイザーの XML 入力機能の使用方法は、このレッスンでは扱いません。
ここでは、dta ユーティリティを起動してヘルプを表示した後、同ユーティリティを使用してコマンド プロンプトからワークロードをチューニングします。 このユーティリティは、データベース エンジン チューニング アドバイザーのグラフィカル ユーザー インターフェイス (GUI) の実習「ワークロードのチューニング」で作成したワークロード MyScript.sql を使用します。
この記事の Transact-SQL コード サンプルは AdventureWorks2022
または AdventureWorksDW2022
サンプル データベースを使用します。このサンプル データベースは、Microsoft SQL Server サンプルとコミュニティ プロジェクトのホーム ページからダウンロードできます。
この後の実習では、コマンド プロンプトを開き、 dta コマンド プロンプト ユーティリティを起動して、構文ヘルプを表示します。さらに、「 ワークロードのチューニング」で作成した簡単なワークロード MyScript.sql をチューニングします。
前提条件
このチュートリアルを実行するには、SQL Server Management Studio、SQL Server を実行しているサーバーへのアクセス、および AdventureWorks2022
データベースが必要です。
- SQL Server 2017 Developer Edition をインストールします。
- AdventureWorks サンプル データベースをダウンロードします。
SSMS でデータベースを復元する手順については、データベースの復元に関するページをご覧ください。
注意
このチュートリアルは、SQL Server Management Studio の使用と基本的なデータベース管理タスクに慣れているユーザーを対象としています。
DTA コマンド プロンプト ユーティリティのヘルプ メニューにアクセスする
[スタート] ボタンをクリックし、 [すべてのプログラム] 、 [アクセサリ] の順にポイントして、 [コマンド プロンプト] をクリックします。
コマンド プロンプトで以下を入力し、Enter キーを押します。
dta -? | more
このコマンドの
| more
の部分は省略可能です。 これを指定した場合は、ユーティリティの構文ヘルプが 1 画面ずつ表示されます。 ヘルプを 1 行ずつ表示するには Enter キーを押し、1 ページずつ表示するにはスペース キーを押します。
DTA コマンド プロンプト ユーティリティを使用して簡単なワークロードをチューニングする
コマンド プロンプトで、MyScript.sql ファイルが保存されているディレクトリに移動します。
コマンド プロンプトで次のコマンドを入力し、Enter キーを押します (コマンドの解釈時には大文字と小文字が区別される点に注意してください)。コマンドが実行され、チューニング セッションが開始されます。
dta -S YourServerName\YourSQLServerInstanceName -E -D AdventureWorks2022 -if MyScript.sql -s MySession2 -of MySession2OutputScript.sql -ox MySession2Output.xml -fa IDX_IV -fp NONE -fk NONE
ここで、
-S
には、 SQL Server データベースがインストールされているサーバーおよびAdventureWorks2022
インスタンスの名前を指定します。 設定-E
は、Windows ドメイン アカウントで接続している場合に、適切なインスタンスへの信頼できる接続を使用することを指定します。 設定-D
にはチューニングするデータベース、-if
にはワークロード ファイル、-s
にはセッション名を指定します。-of
にはツールによって Transact-SQL 推奨設定スクリプトを書き込むファイルを指定し、-ox
にはツールによって XML 形式で推奨設定を書き込むファイルを指定します。 最後の 3 つのスイッチは次のチューニング オプションを指定しています。-fa IDX_IV
は、インデックスとインデックス付きビューの追加のみを考慮するように指定します (クラスター化インデックス、非クラスター化インデックスが共に考慮されます)。-fp NONE
は、分析時にパーティション分割ストラテジを考慮しないように指定します。-fk NONE
は、データベース エンジン チューニング アドバイザーが推奨設定を作成する際に、データベースの既存の物理設計構造を保持しないように指定しています。
- データベース エンジン チューニング アドバイザーによるワークロードのチューニングが完了すると、チューニング セッションが正常に完了したことを知らせるメッセージが表示されます。 チューニング結果を表示するには、 SQL Server Management Studio を使用して MySession2OutputScript.sql および MySession2Output.xml を開きます。 また、データベース エンジン チューニング アドバイザーの GUI でチューニング セッション MySession2 を開き、その推奨設定とレポートを表示する方法もあります。これは、「 チューニング推奨設定の表示 」および「 チューニング レポートの表示」で行った操作と同様です。
このチュートリアルが終了したら
このチュートリアルのレッスンが終了したら、次のトピックを参照し、データベース エンジン チューニング アドバイザーの詳細を学習してください。
- このツールを使用した作業の実行方法の説明については、「Database Engine Tuning Advisor 」を参照してください。
- コマンド プロンプト ユーティリティおよびユーティリティの動作の制御に使用できるオプションの XML ファイルに関するリファレンス情報については、「dta Utility 」を参照してください。
チュートリアルの先頭へ戻るには、「チュートリアル:データベース エンジン チューニング アドバイザー」を参照してください。