次の方法で共有


データ移行ツールキットのレプリケーションの監視

Microsoft Dynamics 365の データ移行ツールキットは、セルフサービス環境で使用されます。 SQL レプリケーションを使用して、顧客のオンサイト SQL Server インスタンスから Dynamics 365 に使用される Azure SQL データベースにデータを転送します。

このツールキットは、Dynamics AX 2012 から Dynamics 365 へのアップグレードと、Dynamics 365 (on-premises) からクラウドの Dynamics 365 への移行の両方で使用されます。

詳細については、次の記事を参照してください。

ツールキットには、レプリケーション ステータスを監視できる RS コマンドがあります。 詳細については、ツールキット レポート セクション を参照してください。 ただし、レプリケーションを SQL Server Management Studio (KMS) で直接監視する必要がある場合があります。 この記事では、レプリケーションを監視する方法と、レプリケーションの特定の手順について説明します。

レプリケーションの概要

既定では、データ移行ツールキットを実行すると、主キーを持つテーブルに対して 2 つの出版物が作成され、1 つの出版物が他のオブジェクト (関数) に対して作成され、主キーを持つテーブルに対して 1 つの出版物が作成されます。 また、必要に応じて、ロックされたテーブルまたはレコードカウントの不一致に対して 1 つの最終出版物を作成できます。

各出版物には 2 つの SQL エージェント ジョブがあります。

  • スナップショット エージェント - このエージェントは、出版物のテーブル (記事) の初期スナップショットを担当します。 各テーブルのスナップショット フォルダーにファイルが作成されます。 これらのファイルに関する詳細については、この記事のファイル タイプの詳細セクションを参照してください。
  • ログ リーダー エージェント - このエージェントは、スナップショットをターゲット データベース (サブスクライバー) にプッシュし、テーブルに対して進行中に行う変更を担当します。

紙幣

主キーを持たないテーブル用の出版物は、スナップショットをプッシュするのみです。

レプリケーション モニター

高い場所にあるレプリケーションを監視するには、ソースをオン施設のデータベース サーバーに接続し、レプリケーション フォルダーを展開し、選択して保持し (または右クリック)、レプリケーション モニターを起動を選択してレプリケーション モニターを開きます。

レプリケーション モニター ウィンドウのスクリーンショット。

紙幣

上の図に示すように、主キーを持つテーブル用の出版物は 1 つのみですが、通常は 2 つあります。

スナップショットの生成

スナップショット エージェントの詳細を表示するには、次に示す方法があります。

  • 左側の出版物を選択します。
  • エージェント タブで、スナップショット エージェントを選択したまま (または右クリック) にして、詳細の表示を選択します。

スナップショット エージェント ウィンドウが開きます。

[スナップショット エージェント] ウィンドウのスナップショットエージェント詳細のスクリーンショット

スナップショットの生成には 4 つの手順があります。

  1. インデックスで統計を更新します。
  2. バルク コピー ファイルを作成します。
  3. オブジェクト スクリプトをカスタマイズします。
  4. スクリプトを生成します。

スナップショット ファイルは、データ移行ツールキットの設定時に指定したフォルダーに作成されます。 エクスプローラーで、そのフォルダーを開き、確認する出版物へのフォルダーをドリルダウンします。

ファイル タイプの詳細

次のテーブルでは、スナップショット ファイルの異なるタイプについて説明します。

ファイル名 ファイルのタイプ Description
*.bcp SQL Server レプリケーション スナップショットのバルク コピー ファイル テーブルのデータを含むバイナリ ファイル。 テーブルのサイズによっては、テーブルごとに 1 つ以上のファイルが使用される場合があります。
*.dri SQL Server レプリケーション スナップショット制約スクリプト テーブルに対する制約を含む SQL スクリプト。
*.idx SQL Server レプリケーション スナップショット インデックス スクリプト テーブルのインデックスを含む SQL スクリプト。
*.pre SQL Server レプリケーション スナップショット スクリプト ターゲット データベース内の既存のオブジェクトの移動に使用される SQL スクリプト。
*.sch SQL Server レプリケーション スナップショット スキーマ スクリプト データをサブスクライバー データベースにレプリケートするために使用するテーブルおよびストアド プロシージャを作成する SQL スクリプト。 このスクリプトには制約やインデックスは含まれません。
*.xpp SQL Server レプリケーション スナップショット拡張プロパティ スクリプト テーブルの拡張インデックスを含む SQL スクリプト。 AX 2012 テーブルの場合、このスクリプトは空白に変更されます。

スナップショットが完了すると、次のメッセージが表示されます:「<記事の数>のスナップショットが生成されました」というメッセージが表示されます。

スナップショット エージェント ウィンドウにスナップショット生成メッセージを示すスクリーンショット。

この段階では、スナップショットはファイル共有のみです。 次の手順では、ディストリビューターがターゲット (サブスクライバー) データベースに移動します。

ディストリビューターからサブスクライバーへ

ディストリビューターからサブスクライバーへの詳細を使用すると、次の情報を監視できます。

  • 生成したスナップショットをターゲット (サブスクライバー) データベースにプッシュする方法
  • スナップショットの生成中に作成された進行中のトランザクション
  • 進行中のトランザクション

ディストリビューターからサブスクライバーへのログを表示するには、すべてのサブスクリプション タブで、詳細の表示 を選択します。

スナップショットを移動するには、次の手順を実行します:

  1. .pre ファイルを実行します。 これらのスクリプトでは、ターゲット内の既存のオブジェクトがドロップされます。

    実行中の .pre ファイルのスクリーンショット。

  2. .sch ファイルを実行します。 これらのスクリプトによってテーブルが作成されます。

  3. サブスクライバー (ターゲット) データベースでテーブルがスクリプト化されると、バルク コピー ファイルがターゲットにインポートされます。

    .bcp ファイルのインポート には、数時間かかる場合があります。

  4. インデックスを作成します。

  5. 制約および拡張プロパティを適用します。

未配分のコマンド タブでは、適用する未処理のコマンドの数や見積残り時間など、配分の進行状況を監視できます。

[未分散のコマンド] タブのスクリーンショット。

スナップショットが配信された後に、「\\unc\server\folder から配信されたスナップショット」というメッセージが表示されます。

未処理のコマンドがそれ以上ない場合は、未分散のコマンド タブに、0 (ゼロ) として適用する未処理のコマンドの数が表示され、残りの見積時間は 00 :00:00 と表示されます。

未処理のコマンドがこれ以上ない場合の未分散コマンドのスクリーンショット。

トランザクションのレプリケーション

スナップショットが配信されると、そのスナップショットのプッシュ中または実行後にデータベースに作成された新しいトランザクションがサブスクライバー (ターゲット) に配信されます。 データベースが画面に表示され、複製する必要がない場合は、「レプリケートされたトランザクションを使用できません」というメッセージが表示されます。

ネットワーク帯域幅

スナップショットのプッシュ中に、ディストリビューター プロセスからターゲット データベースへの帯域幅を監視できます。 この情報は、パフォーマンスに関する問題をアップロードする場合に便利です。

  1. タスク マネージャーを開きます。
  2. リソース モニターを開くを選択します。
  3. リソース モニターの ネットワークタブで 、 DISTRIB.exe を使ってフィルター処理します。 送信帯域幅の速度が表示されます。

リソース モニターで使用できる送信帯域幅を示すスクリーンショット。