初期同期に関する考慮事項
テーブルで二重書き込みを開始する前に、最初の同期を実行して、財務と運用アプリおよび Customer Engagement アプリの両面で既存のデータを処理することができます。 2 つの環境間でデータを同期する必要がない場合は、初期同期を省略できます。
初期同期では、既存のデータを 1 つのアプリから別のアプリに双方向でコピーできます。また、実行する際には、いくつかの考慮事項があります。 たとえば、Go-Live 前にデータ移行が必要な場合があります。 この場合、データはデータ移行によって一方の側に読み込まれ、初期同期によってもう一方の側に同期されます。
初期同期には、次の方法を使用することをお勧めします。
- 単一スレッド テーブル: まずデータを財務と運用アプリに移行し、次に初期同期をトリガーしてデータを Dataverse に移動します。 Microsoft が実行したラボ テストに基づいて、このシーケンスは、Dataverse から財務と運用アプリへの同期よりもパフォーマンスが高いです。
- 複数スレッド テーブル: まずデータを Dataverse に移行し、次に初期同期をトリガーしてデータを財務と運用アプリに移動します。
制約
二重書き込みの有効化によるデータ移行速度の低下
最初にデュアル書き込みでマップを有効にしてからデータのインポートを開始すると、移行のパフォーマンスが低下します。 データの移行が完了するまでは、実行中のマップをデュアル書き込みで有効にしないことをお勧めします。
実行ごとに 500,000 の行制限
初期同期によって許可される行の最大数は、1 回の実行ごとに 500,000 です。 各リーガル テーブルが個別に実行するため、各リーガル テーブルに 500,000 の行制限が適用されます。 詳細については、Dataverse へデータを統合 を参照してください。 特に、「パフォーマンスを最適化し、アプリケーションに過負荷をかけないために、現在プロジェクトの実行数を 500K 行に制限しています」という通知に注意してください。
初期同期時に、1 回の実行に 500,000 行以上の行が存在する場合は、データを財務と運用アプリと Dataverse に個別に移行し、初期同期をスキップすることをお勧めします。
24 時間制限
Dataverse から財務と運用アプリへの初期同期を実行している場合、24 時間以内にインポートの結果を財務と運用アプリから受け取る必要があります。 そうしない場合、タイムアウトが発生します。 したがって、大量のデータを同期していて、1 回の実行に 24 時間以上かかる場合、タイムアウトが原因で初期同期が失敗する可能性があります。たとえば、顧客/アカウント テーブルの Dataverse から財務と運用アプリへの初期同期には、70,000 行が含まれます。 したがって、実行には 24 時間以上の時間がかかる場合があります。
データ量が 70,000 行を超える場合は、単一スレッド テーブル に対して Dataverse から財務と運用アプリへの初期同期を実行しないでください。 これらのテーブルは、インポート時にマルチスレッドをサポートしていないので、ボリュームが 70,000 行を超えると、タイムアウトが発生する可能性があります。 この場合、データを財務と運用アプリおよび Dataverse に別々に移行し、初期同期をスキップする必要があります。
環境がリンクされている場合の 40 の法人制限
現在、環境がリンクされている場合には法人は 40 までという制限があります。 40 を超える法人が環境間でリンクされているマップを有効にしようとすると、次のエラー メッセージが表示されます:
Dual-write failure - Plugin registration failed: [(Unable to get partition map for project DWM-1ae35e60-4bc2-4905-88ea-XXXXX. Error Exceeds the maximum partitions allowed for mapping DWM-1ae35e60-4bc2-4905-88ea- XXXXX)], One or more errors occurred.
現在、初期同期は 10 以上のルックアップを含むテーブル マップではサポートされていません
この制限は、ルックアップが 10 以上あるテーブル マップの Dataverse からの初期同期にのみ適用されます。 10 以上のルックアップを含むテーブル マップに対して初期同期を実行すると、次のエラー メッセージが表示される場合があります。
5 Attempts to get data from https://XXXX.azure-apim.net/apim... Failed
回避策として、初期同期を次の手順に分けることができます。
- 二重書き込みテーブル マップから必須ではないルックアップ列をいくつか削除し、ルックアップの数を 10 にします。
- ルックアップ列が削除されたら、マップを保存し、初期同期を行います。
- 最初の手順の初期同期が正常に完了したら、残りのルックアップ列を追加し、最初の手順で同期されたルックアップ列を削除します。 ルックアップ列の数が 10 であることを再度確認します。 マップを保存し、初期同期を実行します。これらの手順を繰り返して、すべてのルックアップ列が同期されていることを確認します。
- すべてのルックアップ列をマップに戻し、マップを保存して、初期同期をスキップしてマップを実行します。これにより、マップでライブ同期モードが有効になります。
財務と運用のデータ エクスポートに対する 5 分の制限
財務と運用アプリから Dataverse への初期同期を実行し、財務と運用のデータのエクスポートに 5 分以上かかる場合、初期同期がタイムアウトすることがあります。タイムアウトは、データ テーブルに postLoad
メソッドの仮想列がある場合、またはエクスポート クエリが最適化されていない (たとえば、インデックスが存在しない) 場合に発生する可能性があります。
このタイプの同期は、Platform update 37 (PU37) 以降でサポートされます。 したがって、財務と運用アプリを PU37 またはそれ以降のバージョンに更新する必要があります。
書き込みアクセス用のセキュリティ ロール
二重書き込みを使用する Customer Engagement 組織のすべてのユーザーは、二重書き込みランタイム ユーザー ロールに追加する必要があります。 このロールがない場合、ユーザーは、Customer Engagement 組織のテーブルに行を作成することはできません。
会社および通貨為替テーブルに必要なセキュリティ ロール
会社と通貨為替テーブルは本質的にグローバルであり、すべての二重書き込みユーザーにはこれら 2 つのテーブルへの読み取りアクセスが必要です。 アクセスを提供するため、すべての二重書き込みユーザーを、二重書き込みアプリ ユーザー セキュリティ ロールに追加する必要があります。 ユーザーにこのセキュリティ ロールが割り当てられていない場合、会社と通貨の値を含むテーブルを読み取ることができません。
エラー処理機能
初期同期はフル プッシュまたは広域増分プッシュ
個別の行の同期が失敗した場合は、その個別の行だけを再同期することはできません。 初期同期の最初の実行では、常にデータ セット全体がプッシュされます。 この動作は、フル プッシュと呼ばれます。 財務と運用アプリで変更追跡が有効になっている場合、その後の実行は、最後に実行されたマップ バージョンに基づく広域増分プッシュです。 変更追跡を無効にすると、後続の実行によってフル プッシュが発生します。 広域増分プッシュ中は、エラー レコードが再送信と見なされません。
上位 5 つのエラーのみ表示可能
初期同期のエラー ログに記録された上位 5 つのエラーのみを表示できます。
二重引用符の制限
一部のソース フィールドは初期同期プロセス中に処理されます。データの二重引用符で囲まれた場合、次のようなエラー メッセージが表示され、初期同期が失敗する場合があります。
Initial writes failed while parsing the data for leg:From Dynamics 365 for Finance and Operations Entity to Dynamics 365 for Sales Entity - Legal Entity. Message: Type=Microsoft.VisualBasic.FileIO.MalformedLineException, Msg=Line # cannot be parsed using the current Delimiters.
このエラーへの対処を行うには、データから二重引用符を検索して削除する必要があります。
既知の問題
既知の問題の詳細については、初期同期中の問題のトラブルシューティングを参照してください。
ガイダンス マトリックス
財務と運用アプリ インスタンス | Dataverse インスタンス | 初期同期を実行するデータの有無 | 説明 | テーブルの最大ボリューム | 単一スレッドまたはマルチスレッド | アプローチ |
---|---|---|---|---|---|---|
新規 | 新規 | 無効 | 財務と運用アプリ インスタンスと新しい Customer Engagement アプリ インスタンス。どちらのアプリにも初期データがない場合 | 適用できません | 任意 |
|
新規 | 新規 | 有効 | 新しい財務と運用アプリ インスタンスと新しい Customer Engagement アプリ インスタンス。どちらかのアプリに移行されたデータがある場合 | < 500,000 | 単一スレッド |
|
< 500,000 | マルチスレッド |
|
||||
> 500,000 | 任意 |
|
||||
新規 | 既存 | 有効 | 新しい財務と運用アプリ インスタンスと既存の Customer Engagement アプリ インスタンス | < 70,000 | 単一スレッド |
|
> 70,000 | 単一スレッド |
|
||||
< 500,000 | マルチスレッド |
|
||||
> 500,000 | 任意 |
|
||||
既存 | 新規 | 有効 | 既存の財務と運用アプリ インスタンスと新しい Customer Engagement アプリ インスタンス | < 500,000 | 任意 |
|
> 500,000 | 任意 |
|
||||
既存 | 既存 | 有効 | 既存の財務と運用アプリ インスタンスと既存の Customer Engagement アプリ インスタンス | < 70,000 | 単一スレッド |
|
> 70,000 | 単一スレッド |
|
||||
< 500,000 | マルチスレッド |
|
||||
> 500,000 | 任意 |
|
単一スレッド テーブル
- 消費税コード (msdyn_taxcodes)
- 顧客 V3 (アカウント)
- 仕入先 V2 (msdyn_vendors)
- 倉庫 (msdyn_warehouses)
- 製品カテゴリ (msdyn_productcategories)
- 雇用 (cdm_employments)
- 職位作業者割り当て (cdm_positionworkerassignmentmaps)
- 倉庫の場所 (msdyn_inventorylocations)
- 配送モード (msdyn_shipvias)