次の方法で共有


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

注意

コミュニティの関心グループが Yammer から Microsoft Viva Engage に移行されました。 Viva Engage コミュニティに参加し、最新のディスカッションに参加するには、「 Finance and Operations Viva Engage Community へのアクセスを要求する 」フォームに入力し、参加するコミュニティを選択します。

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 エージェント ジョブがあります。

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

注意

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

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

SSMSでレプリケーションを監視するには、オンプレミスのソースデータベースサーバーに接続し、レプリケーションフォルダを展開して、それを選択し続けるか(または右クリックして)、レプリケーションモニターを起動を選択して、レプリケーションモニターを開きます。

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

注意

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

スナップショットの生成

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

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

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

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

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

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

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

ファイル タイプの詳細

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

ファイル名 ファイルのタイプ 説明
*.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 を使ってフィルター処理します。 送信帯域幅の速度が表示されます。

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