EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

SQL Serverのアップグレードを助ける2つのツール

edited by DB Online   2018/09/07 06:00

2.Database Experimentation Assistant(DEA)

 次に、DEAというツールをご紹介します。DEAはアップグレードによりパフォーマンスに差異があるかどうかを分析することができるツールです。

 DEAの機能としては、Capture,Replay,Analysisの3つがあります。

  1. Capture:ワークロードをキャプチャする機能
  2. Replay:キャプチャしたワークロードを別環境で再現する機能
  3. Analysis:ワークロードの結果を分析してレポートする機能

 実際のアップグレードでは、以下のような使い方が考えられます。

  1. 本番環境でワークロードをキャプチャ
  2. 1のワークロードをステージング環境と移行先環境で再現
  3. ステージング環境と移行先環境で何が遅延したか確認

DEAインストール

 DEAのシステム要件やダウンロードサイトはこちらをご確認ください。

 対応OSがWindows Server 2012以降なので、DMA同様Windows Server 2008では動作しないのでご注意ください。

DEAの使用

 DEAを使ってみましょう。

 今回、移行を想定した以下のような検証環境を作成しています。また、DEAのバージョンは2.6を使用しています。

 0.起動

 DEAを起動すると、以下のような初期画面が表示されます。

 1.Capture

 ワークロードをキャプチャする機能を実行します。キャプチャは移行元の本番環境から取得することを想定しています。

  •  Capture name:任意の名前
  •  Format:SQLトレース/Xeventsを選択 ―Xeventは動作せず。恐らく、SQL Server 2008には対応していないと思われる
  •  Duration:キャプチャする間隔(分)
  •  Capture Location:キャプチャしたトレースファイルの出力先―キャプチャするSQL Server側に出力されます
  •  Server Type:SQL Server/AzureSqlDb/AzureSqlManagedInstanceを選択
  •  Server name:サーバー名かIPアドレスを指定
  •  Authentication Type:Windows認証/SQL認証を選択
  •  Database name:キャプチャするデータベース(任意)。

 上記を指定後、Startを押下すれば、キャプチャがスタートします。

 Capture DetailsのPROGRESSが設定したDurationからカウントダウンされ、0になったらキャプチャ終了です。

 終了後、Capture LocationのフォルダにMinimum_[Capture Name]x.trcというトレースファイルが出力されています。このトレースファイルが取得したワークロードになります。

 2.Replay

 次に、1でキャプチャしたワークロードを別環境で実行します。

 トレースファイルをDEAがインストールされている環境に移動します。

 DEAで取得したワークロードを別の環境で実行します。

  •  Replay name:任意の名前
  •  Source Trace Format:SQL Trace/Xeventsを選択―キャプチャ時に指定したトレースフォーマットを指定
  •  Source Trace Location:local/Blob。キャプチャしたファイルの保存先
  •  Full path to source file:キャプチャしたファイルのパス
  •  Replay Tool:Dreplay/Inbuiltを選択―Trace FormatがSQL Traceの場合、Dreplayを選択
  •  Controller machine name:リプレイコントローラーがあるホスト名
  •  Replay Trace Location:リプレイ時のトレースファイルの保存先
  •  Server Type:SQL Server/AzureSqlDb/AzureSqlManagedInstanceを選択
  •  Server name:サーバー名かIPアドレスを指定
  •  Authentication Type:Windows認証/SQL認証を選択。―Dreplayの場合Windows認証にする必要があります
  •  Database name:キャプチャするデータベース。未指定の場合全データベースが対象

 Startを実行すると、対象環境に対してキャプチャしたワークロードが実行されます。実行後、対象サーバー上にリプレイ時のトレースファイルが作成されます。

【参考資料】『SQL Server 2016 実践シリーズ No.1 SQL Server 2016 への移行とアップグレードの実践』の無料ダウンロードはこちらからどうぞ!


著者プロフィール

  • 内山義夫(ウチヤマ ヨシオ)

    株式会社インサイトテクノロジー コンサルティング事業部 シニアコンサルタント 2005年にインサイトテクノロジー入社。 Oracleの設計やトラブルシューティングをメインに、SQL ServerやMySQLなどボーダレスに渡り歩く。 最近ではDBの移行コンサルティングがメインになりつつある。

バックナンバー

連載:SQL Server 2017 への移行とアップグレードの実践
All contents copyright © 2007-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5