Database Experimentation Assistant の分散再生を構成する

Database Experimentation Assistant (DEA) は、SQL Server インストールの分散再生ツールを使用して、アップグレードされたテスト環境に対してキャプチャされたトレースを再生します。 クエリが適切に再生されることを確認するために、フル再生を実行する前に、小さなトレース ファイルを使用してテストを実行することをお勧めします。

分散再生の要件

  • 分散再生コントローラー コンピューターで IRF ファイルを作成するには、ハード ドライブ容量の 78% をさらに追加する必要があります。
  • 実稼働トレースまたはパフォーマンス トレースをキャプチャするために使用されるトレース ロールオーバー の理想的なサイズは、200 MB または 512 MB です。
  • 分散再生コントローラーとクライアント マシンの CPU と RAM の最低要件は、3.5 GB の RAM を備えたシングルコア CPU です。
  • 1 台のコントローラーと 4 台の子マシンを使用して実稼働トレースを再生しますが、再生時間はキャプチャ時間の約 1.55 倍の時間がかかります。
  • "発行済み" バージョンの実稼働トレース定義ファイルとパフォーマンス トレース定義ファイルを使用して、対象の 1 つのデータベースのトレースをフィルター処理する場合、分析では、パフォーマンス トレース のサイズが実稼働トレースサイズの約 15 倍大きいことがわかります。

仮想ネットワークまたはドメインを設定する

分散再生では、コンピューター間で共通のアカウントを使用する必要があります。 この要件とセキュリティ上の理由から、仮想ネットワークまたはドメイン制御ネットワークで分散再生を実行することをお勧めします。

  • 環境内にコントローラーとクライアント マシンを作成します。
  • コントローラーとクライアント マシンがネットワーク経由で相互に ping が通っていることを確認します。
  • 分散再生クライアント マシンは、SQL Server を実行している再生ターゲット コンピューターに接続されている必要があります。

コントローラー サービスを設定する

コントローラー サービスを設定するには:

  1. SQL Server インストーラーを使用して分散再生コントローラーをインストールします。 分散再生コントローラーを構成する SQL Server インストーラー ウィザードの手順をスキップした場合は、構成ファイルを使用してコントローラーを構成できます。 一般的なインストールでは、構成ファイルは C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayController\DReplayController.config にあります。

  2. 分散再生コントローラー のログは、C:\Program Files (x86)\Microsoft SQL Server<バージョン>\Tools\DReplayController\Log にあります。

  3. Services.msc を開き、SQL Server 分散再生コントローラー サービスに移動します。

  4. サービスを右クリックし、[プロパティ] を選択します。 サービス アカウントを、ネットワーク内のコントローラーとクライアント コンピューターに共通のアカウントに設定します。

  5. [OK] を選択して [プロパティ] ウィンドウを閉じます。

  6. Services.msc から SQL Server 分散再生コントローラー サービスを再起動します。 コマンド ラインから次のコマンドを実行してサービスを再起動することもできます。

    NET STOP "SQL Server Distributed Replay Controller"
    NET START "SQL Server Distributed Replay Controller"

その他の構成オプションについては、「分散再生の構成」を参照してください。

DCOM を構成する

この構成は、コントローラー コンピューターでのみ必要です。

  1. dcomcnfg.exe を開きます。

  2. [コンポーネント サービス][コンピューター][マイ コンピューター][ DCOM 構成]の順に展開します。

  3. [DCOM 構成][DReplayController] を右クリックし、[プロパティ] を選択します。

  4. [セキュリティ] タブをクリックします。

  5. [起動とアクティブ化のアクセス許可]で、[カスタマイズ][編集]の順に選択します。

  6. 再生を開始するユーザーを追加します。 ユーザーにローカル起動とローカル ライセンス認証のアクセス許可を付与します。 ユーザーがリモートで起動またはアクティブ化を予定している場合は、ユーザーにリモート起動とリモート アクティブ化のアクセス許可を付与します。

  7. [OK] を選択して変更をコミットし、[セキュリティ] タブに戻ります。

  8. [アクセス許可] で、[カスタマイズ] を選択し、[編集] を選択します。

  9. 再生を開始するユーザーを追加します。 ユーザーにローカルのアクセス許可を付与します。 ユーザーがコントローラー サービスにリモートでアクセスすることを予定している場合は、ユーザーにリモート アクセスのアクセス許可を付与します。

  10. [OK] を選択して変更をコミットし、[セキュリティ] タブに戻ります。

  11. [OK] を選択して、変更をコミットします。

  12. Services.msc から SQL Server 分散再生コントローラー サービスを再起動します。 コマンド ラインから次のコマンドを実行してサービスを再起動することもできます。

    NET STOP "SQL Server Distributed Replay Controller"
    NET START "SQL Server Distributed Replay Controller"

クライアント サービスを設定する

クライアント サービスを設定する前に、ping などのネットワーク ツールを使用して、コントローラーとクライアント コンピューターが通信できることを確認します。

  1. SQL Server インストーラーを使用して分散再生クライアントをインストールします。

  2. Services.msc を開き、SQL Server 分散再生クライアント サービスに移動します。

  3. サービスを右クリックし、[プロパティ] を選択します。 サービス アカウントを、ネットワーク内のコントローラー マシンとクライアント マシンの両方に共通するアカウントに設定します。

  4. [OK] を選択して [プロパティ] ウィンドウを閉じます。 SQL Server インストーラー ウィザードのステップをスキップして分散再生クライアントを構成した場合は、構成ファイルを使用して構成できます。 一般的なインストールでは、構成ファイルは C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayClient\DReplayClient.config にあります。

  5. DReplayClient.config ファイルに、登録用のコントローラーとしてコントローラー マシンの名前が含まれていることを確認します。

  6. Services.msc から SQL Server 分散再生クライアント サービスを再起動します。 コマンド ラインから次のコマンドを実行してサービスを再起動することもできます。

    NET STOP "SQL Server Distributed Replay Client"
    NET START "SQL Server Distributed Replay Client"

    分散再生コントローラー のログは、C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayClient\Log にあります。 ログには、クライアントがそれ自体をコントローラーに登録できるかどうかが示されます。

    設定が成功すると、ログに「コントローラ < コントローラ名に登録されました>」というメッセージが表示されます。

その他の構成オプションについては、「分散再生の構成」を参照してください。

分散再生管理ツールのセットアップ

分散再生管理ツールを使用すると、環境内で分散再生が正常に機能しているかどうかを迅速にテストできます。 構成のテストは、特に複数のクライアント マシンがコントローラーに登録されている環境で役立ちます。 管理ツールを取得するには、SQL Server Management Studio (SSMS) のインストールが必要になる場合があります。

  1. SSMS のインストール場所に移動し、分散再生管理ツール dreplay.exe とその依存コンポーネントを探します。 現在、 SSMS 17 は dreplay.exe を含む SSMS の最新のリリースです。
  2. コマンド プロンプトで、dreplay.exe status -f 1 を実行します。

上記の手順が完了すると、コントローラーが READY 状態のクライアントを認識できることを、コンソールの出力でわかります。

リモート分散再生アクセス用にファイアウォールを構成する

分散再生にリモートでアクセスするには、ドメインまたは仮想ネットワーク内に表示されるポートを開く必要があります。

  1. セキュリティが強化された Windows ファイアウォールを開きます。
  2. インバウンド規則 に移動します。
  3. プログラム C:\Program Files (x86)\Microsoft SQL Server<version>\Tools\DReplayController\DReplayController.exe に対する新しいインバウンドファイアウォール規則を作成します。
  4. DReplayController.exe がコントローラー サービスとリモートで通信できるようにするために、すべてのポートへのドメイン レベルのアクセスを許可します。
  5. 規則を保存します。

ターゲットを設定します

A/B テストまたは実験を実行するには、2 つの再生が必要です。 つまり、移行シナリオでは、SQL Server インストールのインスタンスが 2 つ必要になる場合があります。

2 つのバージョンの SQL Server インスタンスを同じコンピューターにインストールすることもできます。 注意が必要なのは、再生の進行中にインスタンスが分離されるようにすることです。

再生ごとに次の手順を実行する必要があります。

  1. データベースのバックアップを復元します。
  2. クライアント サービス アカウント ユーザーが SQL Server インスタンスの下のデータベースにアクセスするためのアクセス許可を与えます。 SQL Server インスタンスでクエリを実行するには、アクセス許可が必要です。
  3. 再生を開始します。

関連項目