dta ユーティリティを使用してデータベースをチューニングする方法

dta ユーティリティには、データベースのチューニングに使用できるコマンド プロンプト実行可能ファイルが用意されています。このファイルにより、バッチ ファイルやスクリプトでデータベース エンジン チューニング アドバイザ機能を使用できるようになります。dta ユーティリティでは、ワークロードとして、トレース ファイル、トレース テーブル、および Transact-SQL スクリプトが使用されます。また、データベース エンジン チューニング アドバイザ XML スキーマに準拠する XML 入力も使用されます。このスキーマは、この Microsoft Web サイトから入手できます。

dta ユーティリティを使用してワークロードのチューニングを開始する前に、次のことを考慮してください。

  • ワークロードとしてトレース テーブルを使用する場合、そのテーブルは、データベース エンジン チューニング アドバイザがチューニングを実行するサーバーと同じサーバー上に存在する必要があります。別のサーバーにトレース テーブルを作成した場合は、データベース エンジン チューニング アドバイザでチューニングされているサーバーに移動します。

  • データベース エンジン チューニング アドバイザのワークロードとしてトレース テーブルを使用する前に、トレースが停止していることを確認してください。データベース エンジン チューニング アドバイザでは、トレース イベントをワークロードとして書き込み中のトレース テーブルには使用できません。

  • チューニング セッションの実行が予想よりも長く続いている場合、Ctrl キーを押しながら C キーを押してチューニング セッションを停止し、その時点までに dta で完了した分析に基づいて推奨設定を作成できます。この操作を行うと、推奨設定を作成するかどうかを確認するメッセージが表示されます。推奨設定を作成せずにチューニング セッションを停止するには、もう一度、Ctrl キーを押しながら C キーを押します。

dta ユーティリティの構文と使用方法の例の詳細については、「dta ユーティリティ」を参照してください。

dta ユーティリティの既定の設定を使用してデータベースをチューニングするには

  1. 解析時に、データベース エンジン チューニング アドバイザによって追加、削除、または保有を検討するデータベースの機能 (インデックス、インデックス付きビュー、パーティション分割) を決定します。詳細については、「ワークロードについて」および「データベース エンジン チューニング アドバイザの使用に関する注意点」を参照してください。

  2. ワークロードを作成します。詳細については、「ワークロードを作成する方法」を参照してください。

  3. コマンド プロンプトで、次のコマンドを入力します。

    dta -E -D DatabaseName -if WorkloadFile -s SessionName
    

    このコマンドの -E はチューニング セッションで (ログイン ID とパスワードではなく) 信頼関係接続を使用することを指定し、-D はチューニングするデータベースの名前を指定します。既定では、このユーティリティは、ローカル コンピュータ上の MicrosoftSQL Server の既定のインスタンスに接続されます (リモート データベースを指定したり、名前付きインスタンスを指定したりするには、次の手順で示すように -S オプションを使用します)。-if オプションは、ワークロード ファイル (Transact-SQL スクリプトまたはトレース ファイルが使用可能) の名前とファイル パスを指定し、-s はチューニング セッションの名前を指定します。

    ここで示した 4 つのオプション (データベース名、ワークロード、接続の種類、およびセッション名) は必ず指定する必要があります。

リモート データベースまたは名前付きインスタンスを一定時間チューニングするには

  1. 解析時に、データベース エンジン チューニング アドバイザによって追加、削除、または保有を検討するデータベースの機能 (インデックス、インデックス付きビュー、パーティション分割) を決定します。詳細については、「ワークロードについて」および「データベース エンジン チューニング アドバイザの使用に関する注意点」を参照してください。

  2. ワークロードを作成します。詳細については、「ワークロードを作成する方法」を参照してください。

  3. コマンド プロンプトで、次のコマンドを入力します。

    dta -S ServerName\Instance -D DatabaseName -it WorkloadTableName 
    -U LoginID -P Password -s SessionName -A TuningTimeInMinutes
    

    このコマンドの -S はリモート サーバー名とインスタンス (またはローカル サーバー上の名前付きインスタンス) を指定し、-D はチューニングするデータベースの名前を指定します。-it オプションはワークロード テーブル名を指定し、-U および -P はリモート データベースに対するログイン ID とパスワードを指定します。また、-s はチューニング セッション名を指定し、-A はチューニング セッションの継続時間を分単位で指定します。既定では、dta ユーティリティのチューニング時間は 8 時間に設定されています。データベース エンジン チューニング アドバイザによるワークロードのチューニング時間を無制限にする場合は、-A オプションを使用して 0 (ゼロ) を指定します。

XML 入力ファイルを使用してデータベースをチューニングするには

  1. 解析時に、データベース エンジン チューニング アドバイザによって追加、削除、または保有を検討するデータベースの機能 (インデックス、インデックス付きビュー、パーティション分割) を決定します。詳細については、「ワークロードについて」および「データベース エンジン チューニング アドバイザの使用に関する注意点」を参照してください。

  2. ワークロードを作成します。詳細については、「ワークロードを作成する方法」を参照してください。

  3. XML 入力ファイルを作成します。詳細については、「XML 入力ファイルを作成する方法」を参照してください。

  4. コマンド プロンプトで、次のコマンドを入力します。

    dta -E -S ServerName\Instance -s SessionName -ix PathToXMLInputFile
    

    このコマンドの -E は信頼関係接続を指定し、-S はリモート サーバーとインスタンス、またはローカル サーバー上の名前付きインスタンスを指定します。また、-s はチューニング セッション名を指定し、-ix はチューニング セッションで使用する XML 入力ファイルを指定します。

  5. ワークロードのチューニングが完了した後、データベース エンジン チューニング アドバイザのグラフィカル ユーザー インターフェイス (GUI) を使用して、チューニング セッションの結果を参照できます。また、代替手段として、-ox オプションを使用してチューニングの推奨設定を XML ファイルに書き込むように指定することもできます。詳細については、「dta ユーティリティ」を参照してください。

セキュリティ

データベース エンジン チューニング アドバイザを使用するための権限については、「データベース エンジン チューニング アドバイザの初期化」を参照してください。