次の方法で共有


AX 2012 からのアップグレード - セルフサービス環境のデータ アップグレード

メモ

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

この Microsoft Dynamics AX 2012 データ アップグレード プロセスは、セルフ サービスの環境向けです。 この記事のセクションを次の順序で完了します。

  1. 前提条件
  2. データ アップグレード プロセス – DataMigrationTool.exe アプリケーションを実行し、更新プロセスを完了します。
  3. アプリケーションのレポート セクション – レプリケーションの検証、レプリケーション ステータス、データ アップグレード ステータス、およびデータ アップグレード ステータスのロールバックに関するレポートをレビューします。
  4. アプリケーションのツール セクション – このセクションでは、プロセス パラメータをリセットし、いずれかのプロセスを再起動します。

前提条件

  1. クラウド ホスト (開発) 環境、またはセルフホスティングの開発用 VHD 環境で、顧客データを使用してアップグレードテストが正常に完了しました。 このテストは、セルフサービス環境と同じアプリケーション バージョンおよびカスタマイズに対して実行されている必要があります。
  2. Microsoft Dynamics Lifecycle Services から Data Migration Toolkit for Dynamics365 バージョン 1.0.12 (またはそれ以降) をダウンロードします。 共有資産ライブラリで、資産タイプとしてモデルを選び、モデル ファイルを選択します。 展開する前に、ファイル プロパティを使用して ZIP ダウンロードのブロックを解除します。
  3. ライフサイクル サービスでセルフサービス環境を作成します。 この環境は、配置済み状態である必要があります。 セルフ サービス環境である必要があります。 クラウド ホスト型開発環境は、AX 2012 年からのアップグレード - 開発環境でのデータ アップグレードとしてのみ使用できます。

重要

アップグレードを実行する前に、使用している Dynamics 365 バージョンの最新の 品質更新 を適用してください。

メモ

次の点に注意してください:

  • Microsoft Dynamics AX 2012 データのアップグレード プロセスは、財務と運用のセルフ サービス、サンドボックス (UAT) 環境専用です。 運用環境に対して実行することは出来ません。
  • ライフサイクル サービスから最新バージョンの Data Migration Toolkit for Dynamics 365 をダウンロードしてください。
  • AX 2012 データ更新用にリンクされた Power Platform 環境を配置または使用しないでください。 Power Platform 環境は、データ アップグレードの完了後に配置して使用できます。
  1. まだインストールされていない場合は、.NET Framework version 4.7.1 をダウンロードし、インストールします。

  2. レプリケーション機能がインストールされ、ソース SQL Server インスタンスに対して有効になっていることを確認します。 レプリケーションが有効かどうかを確認するには、次の SQL スクリプトを実行します。

    -- If @installed is 0, replication must be added to the SQL Server installation.
    
    USE master;
    GO
    DECLARE @installed int;
    EXEC @installed = sys.sp_MS_replication_installed;
    SELECT @installed;
    

    レプリケーション コンポーネントがインストールされていない場合は、SQL Server レプリケーションのインストールの手順に従いインストールします。

  3. SQL Server 認証は、SQL Server および Windows 認証モード に設定する必要があります。 (この変更を行うには、SQL Server サービスを再起動する必要があります。) ツールキットではネイティブ SQL ログインのみを使用します。

    メモ

    ツールキットに使用する SQL ログインには、sysadmin サーバー ロールが割り当てられている必要があります。 既存のSQLログインを使用するか、必要に応じて新しいログインを作成できます。

  4. ソース データベース サーバーで SQL Server Agent を有効にして起動します。

  5. Migration Toolkit の設定: ソース データベース テーブルの一部をターゲット データベースに複製しない場合は、IgnoreTables.xml ファイルでそれらを指定できます。 同様に、一部の関数を複製しない場合は、IgnoreFunctions.xml ファイルでそれらを指定できます。 また、主パブリケーション外のパブリケーションに特定のテーブルを置く場合は、SpecialTables.xml ファイルを使用できます。

    • IgnoreTables.xml ファイルのパス : Data\IgnoreTables.xml
    • IgnoreFunctions.xml ファイルのパス : Data\IgnoreFunctions.xml
    • SpecialTables.xml ファイルのパス : Data\SpecialTables.xml

    次の例は、XML ファイルのテーブルおよび関数を指定する方法を示しています。

    <?xml version="1.0" encoding="utf-8"?>
    <IgnoreTables>
        <Name>
            <Table>NON_AOT_TABLE1</Table>
            <Table>NON_AOT_TABLE2</Table>
            <Table>NON_AOT_TABLE3</Table>
        </Name>
    </IgnoreTables>
    

    メモ

    Ignore リストに追加するテーブルは、Microsoft Dynamics AX 2012 アプリケーション オブジェクト ツリー (AOT) に存在しないテーブルでなければなりません。 AOT に存在するテーブルを含めると、データのアップグレード中にエラーが発生します。 これらのテーブルはターゲット データベースに複製されません。

    <?xml version="1.0" encoding="utf-8"?>
    <IgnoreFunctions>
        <Name>
            <Function>if_WHSInventReserveUnionDelta</Function>
        </Name>
    </IgnoreFunctions>
    

    重要

    XML ファイルに指定された機能はターゲット データベースに複製されません。

    <?xml version="1.0" encoding="utf-8"?>
    <SpecialTables>
      <Name>
        <Table></Table>
      </Name>
    </SpecialTables>
    

    重要

    SpecialTables ファイルで指定されたテーブルは、専用のパブリッシャーに追加されます。 特別テーブル パブリッシャーの数は、NumberOfPublishers パラメーターに基づいています。以下の手順を参照してください。 特別なテーブル処理は、ダウンタイム時間中に手動でレプリケーションを開始する必要がある、非常に大規模なテーブルに有用です。

  6. レプリケーションの待機時間/パフォーマンスを最適化するために、App.config ファイルで次のディストリビューターのパラメーターを更新できます。

    • MaxBcpThreads - 既定では、パラメーターは 6 に設定されています。 機械のコア数が 6 未満の場合は、その値をコア数に更新します。 指定できる最大値は 8 です。
    • NumberOfPublishers - 既定では、パラメーターは 4 に設定しています。 この値を使用することを推奨します。 ただし、パブリッシャーの数を増やして、各パブリッシャーに配分するテーブル数を少なくする場合があります。 この変更により、手動のスナップショットが開始し、より小さな初期スナップショットを実行できます。これは、メンテナンス期間が限られていて、レプリケーションの開始を複数に分割する必要がある場合に役立ちます。
    • snapshotPostPublication – このオプションは、自動スナップショット プロセスの開始間隔に 5 分の遅延を追加し、ソース サーバーの負荷を支援します。 ツールキットでは手動でスナップショットを開始することも可能です。そのオプションを選択した場合、設定の必要はありません。

メモ

システムのリソース / メモリの使用率 / IO 操作が高いピーク時には、レプリケーションを設定または構成しないでください。 リソースが上限まで使用されている場合 (90% 以上が既に消費されている)、システムが使用可能なリソースを見つけるためにレプリケーションが遅延する場合があります。 システム リソースの使用が最小 (オフピーク時) であるオフ時間にレプリケーションを開始することをお勧めします。 また、Go-Live の切替については、前の週末にレプリケーションを開始することをお勧めします。

データ アップグレード プロセス

DataMigrationTool.exe アプリケーションを実行する

レプリケーション プロセスを開始する前に、ライフサイクル サービス環境は作成時 にデプロイ済みの 状態になります。

  1. DataMigrationTool.exe アプリケーションを実行します。

    クラウド環境のタイプを指定できるコンソール ウィンドウが開きます。

    • 公開: [ lcs.dynamics.com ]
    • GCC: [ gov.lcs.microsoftdynamics.us ]
    • アラブ首長国連邦: [ uae.lcs.dynamics.com ]
      クラウド環境を入力すると、サインインを求めるプロンプトが表示されます。
  2. Lifecycle Services へのサインインに使用する資格情報を提供します。

  3. 正常に認証された後コンソール ウィンドウで、Project-Id 値から Environment-Id 値を順に作成します。

    指定された値を検証するには、Lifecycle Services へのサインインに使用される資格情報を使用してサインインする必要があります。

    メモ

    プロジェクト ID および環境 ID の値は、Lifecycle Services の環境の管理ページで確認できます。 また、環境 ID の値は、環境の詳細ページでも確認できます。

データ レプリケーションおよびアップグレードの実施

検証が成功すると、アプリケーションには、データ アップグレード プロセスの手順に対応する一連のメニュー オプションが表示されます。 データのレプリケーションおよびアップグレードを完了するには、次の手順を順番に実行する必要があります。

  1. 環境の準備: 環境の設定活動

    この手順では、次の情報の入力が求められます。

    • ソース データベースの詳細:

      • ソース サーバー (サーバー名\サーバーインスタンスの形式)
      • ソース データベース名
      • ユーザー名
      • パスワード
    • ソース データベース サーバーの IP アドレス (許可リスト用)

    • 配布データベース パス (D:\SQLServer\Data など)

    • レプリケーション スナップショット パス (D:\SQLServer\Snapshot など)

    重要

    SQLサーバーネイティブ認証に基づいてログインを使用する必要があります。ドメイン サインインは使用できません。 前にこのドキュメントで述べたように、このログインには syadmin ロールが割り当てられている必要があります。

    指定した配布データベースとレプリケーション スナップショット パスには、十分な容量が必要です。 容量は、少なくともソース データベースのサイズにすることをお勧めします。 AX 2012 データベースで圧縮を使用した場合、スナップショットが圧縮されていないと必要容量が大きくなります。 パスは、コンピューターのローカル ディスクに含まれる必要があります。 共有パスの使用を避けます。

    仮想コンピューター (VM) またはコンピューター (手順 1. の許可リストのため) に対して静的 IP アドレスを設定することをお勧めします。 これにより、ターゲット データベースに関する接続の問題を防ぐのに役立ちます。

    この手順では、次のアクションを実行します。

    • ソース データベースへの接続を検証します。
    • AX 2012 データベースのバージョンを検証します。
    • ソースの IP アドレスを承認します。
    • ターゲット データベースを検証します。
  2. 環境の準備 : データ アップグレードのターゲット環境を準備する

    この手順により、Lifecycle Services の環境の状態が 配置済み から レプリケーションの準備完了 に変更されます。

  3. レプリケーション : ターゲット データベースのクリーンアップ

    この手順では、次のアクションを実行します。

    1. ライフサイクル サービス環境の状態を、 レプリケーションの準備完了 から 進行中のレプリケーションに変更します。
    2. ターゲット データベースのすべての AX 製品テーブル、ビュー、ストアド プロシージャ、およびユーザー定義関数を削除します。
  4. レプリケーション: ディストリビューターの設定

    この手順により、ソース サーバーのシステム データベース フォルダー下に配布データベースが作成されます。 この配布データベースは、レプリケーションに使用されます。

  5. レプリケーション : 主キー (PK) テーブル用にパブリケーションを設定する

    この手順により、ソース サーバーのレプリケーション フォルダーの下に主キー テーブル用のパブリケーションが作成され、ターゲット データベースに複製されます。 ignore-table エントリが指定された場合、指定されたテーブルはレプリケーションから除外されます。 特別テーブル エントリが追加された場合、追加の特別テーブル パブリケーションに追加されます。

    メモ

    SQL Management Studio でスナップショットを手動で起動する必要があります。 レプリケーション モニターを開き、SQL Server のインスタンスを選択します。 次に、エージェント タブで、開始するパブリッシャーを選択したまま (または右クリック)、開始 を選択します。

    一度に 1 つのスナップショットを開始し、そのスナップショットのレプリケーションが完了するまで待機します。 レプリケーション モニターで、次の例のようなメッセージが表示されるまで、ディストリビューターからサブスクライバーへ の履歴を確認します: "\unc\server\folder から配信されたスナップショット"。

    レプリケーションを監視する方法の詳細については、データ移行ツールキットのレプリケーションの監視 を参照してください。

    手順 6 と 7 のパブリッシャー スナップショットを手動で開始する必要があります。

    古いバージョンのデータ移行ツールキットには自動開始と手動開始があります。 ツールキットの最新バージョンに移行することをお勧めします。

    作成済パブリッシャー: AX_PUB_PkTable_[*]

    メモ

    このレプリケーション構成ステップが完了すると、バックグラウンドで実行される SQL ジョブとして実際のデータ レプリケーションが発生します。 このジョブは完了までに少し時間がかかります。 レプリケーションの状態を表示するには 'rs' オプションを指定します。 'rs' オプションについては、この記事の後のアプリケーションのレポーティング セクション セクションで確認してください。

  6. レプリケーション : 他のオブジェクト (機能) に対するパブリケーションの設定

    この手順により、他のオブジェクト (機能) に対するパブリケーションが作成され、ターゲット データベースに複製されます。 一部の関数を複製しない場合は、IgnoreFunctions.xml ファイルでそれらを指定できます。

    作成されたパブリッシャー: AX_PUB_OtherObjects

    メモ

    このレプリケーションは完了までに少し時間がかかることがあります。 レプリケーションの状態を表示するには、'rs' オプションを指定します。

    複製する関数がない場合、パブリケーションは作成されません。

    このステップの DataReplicationStatus プロパティが完了として表示されるまで、次のステップに進まないでください。

  7. 切替: 非 PK テーブル用にパブリケーションを設定する

    この手順では、2 つのパブリケーションを作成します: 1 つは主キーのないテーブルの複製に使用され、もう 1 つはロックされたテーブルの複製に使用されます。

    メモ

    ロックされたテーブルがない場合、パブリケーションは作成されません。

    パブリケーション名 : AX_PUB_NoPKTable、AX_PUB_TABLE_LockedTable

    主キーパブリケーションの作成中に AX サービスがスキーマ ロックを取得した場合、それらのテーブルは無視され、パブリケーションから除外されます。 これらは、一時テーブルに追加され、切替パブリケーションの作成中にレプリケーション用にマークされます。

    重要

    このステップの DataReplicationStatus プロパティが完了として表示されるまで、次のステップに進まないでください。

    メモ

    'dv' オプションを使用して複製データを検証できます。 テーブルが不一致である場合は、この手順によりそのテーブル用のパブリケーションを作成できます。 レプリケーションに対して不一致のテーブルを除外する場合は、アプリを閉じ、それらのテーブルを Data/IgnoreTables.xml に追加します。 その後、アプリを再実行し 'dv' オプションを使用します。

    'dv' オプションの詳細については、この記事の後のアプリケーションのレポート セクションを参照してください。

  8. 切り替え: レプリケーション設定の削除

    この手順では、ソース データベース、配布データベース、およびレプリケーション スナップショットに作成されたすべてのパブリケーションを削除します。

    メモ

    例外を発生させずにスナップショット フォルダーを削除するには、ソース データベースで次のスクリプトを実行します。 このスクリプトを実行しなくても、受信した例外メッセージは無視できます。

    EXEC master.dbo.sp_configure 'show advanced options', 1
    
    RECONFIGURE WITH OVERRIDE
    
    EXEC master.dbo.sp_configure 'xp_cmdshell', 1
    
    RECONFIGURE WITH OVERRIDE
    
  9. レプリケーション後: 環境の状態をレプリケート済に更新する

    この手順では、Lifecycle Services 環境の状態を、レプリケーションの処理中 から レプリケーション完了 に変更します。

  10. データ同期 : トリガー変換

    このステップは、データ アップグレードをトリガーします。 アクションが成功した際、Lifecycle Services 環境の状態を レプリケーション完了 から データ アップグレードの処理中 に変更します。

    この時点で、データ アップグレード トリガーだけが発生します。 実際のデータ アップグレードは、セルフサービス環境で行われます。 データ アップグレードのステータスを確認するには、'ds' オプションを使用します。 オプションの詳細については、記事の後半で アプリケーションのレポーティング セクション セクションを参照してください。

    データのアップグレードが成功した場合、 'ds' オプションは AX 2012 アップグレード トポロジ ライフサイクル サービスの状態として表示されます:展開済み、すべてのアップグレード手順は 完了 状態になります。

    データのアップグレードが失敗した場合、 'ds' オプションは AX 2012 アップグレード トポロジライフサイクル サービスの状態として表示されます。失敗し、1 つ以上のアップグレード手順が 失敗 状態になります。 メニュー オプション (10) ツールには、再開ステータスが表示されます。

    失敗の理由を解決して修正した後、再開操作を実行できます。 アクションが成功すると、ライフサイクル サービス環境の状態が [失敗] から [データへのアップグレード中] に変わります。

    メモ

    データ アップグレードが正常に終了するまで、この手順を繰り返します。

  11. データ アップグレードのロールバック : ロールバックのトリガー

    この手順は、データ アップグレードのロールバックをトリガーします。 これにより、アップグレードがトリガーされる前の時点にデータがロールバックされ、ライフサイクル サービス環境の状態が レプリケート済みに設定されます。 これにより、環境が失敗からレプリケート済みに変わります。

    この時点では、ロールバックをトリガーしたのみです。 ロールバックのステータスを表示するには、'rbs'オプションを使用します。 オプションの詳細については、この記事で後述するアプリケーションのレポート セクションを参照してください。

    ロールバックが成功した場合、'rbs' オプションは AX 2012 アップグレード トポロジ ライフサイクル サービスの状態: 複製済み として表示されます。

    ロールバックが失敗した場合、'rbs' オプションは AX 2012 アップグレード トポロジライフサイクル サービスの状態として表示されます: 失敗。

データ アップグレード プロセスの詳細については、AX 2012 – データ アップグレード FAQ からアップグレード を参照してください。 この記事では、Microsoft Dynamics AX 2012からのアップグレードの際、データ アップグレードについてよく寄せられる質問に回答します。

アプリケーションのレポート セクション

次のオプションを使用して、レプリケーションの検証、レプリケーション ステータス、データ アップグレードのステータス、データ アップグレード ステータスのロールバックに関するレポートを確認できます。

  • dv) レポート: レプリケーションを検証します。

    このオプションは、ソース サーバー データベースとターゲット サーバー データベースのテーブルとレコードの数を比較した後、レポートを表示します。 このオプションは、手順 7 が完了した後にのみ使用できます。

    テーブルが不一致である場合は、この手順によりそのテーブル用のパブリケーションを作成できます。 レプリケーションに対して不一致のテーブルを除外する場合は、アプリを閉じ、それらのテーブルを Data/IgnoreTables.xml に追加します。 その後、アプリを再実行して 'dv' オプションを使用します。

    レポート データは、output/PostValidationInfo.csv で確認できます。

  • rs) レポート: レプリケーション ステータスを取得します。

    このオプションは、作成されたパブリケーションのレプリケーション プロセスのレポートを表示します。 このオプションは、手順 5 が開始された後 (任意のパブリケーションのレプリケーション プロセス中) にのみ使用できます。

  • ds) レポート: データ アップグレードのステータスを取得します。

    このオプションは、データ アップグレード プロセスのレポートを表示します。 このオプションは、手順 10 を開始した後にのみ使用できます。

  • rbs) レポート: ロールバックのステータスを確認する。

    このオプションは、ロールバック プロセスのレポートを表示します。 このオプションは、手順 11 を開始した後にのみ使用できます。

アプリケーションのツール セクション

  • レプリケーションのリセット: すべてのレプリケーション構成を削除することで、レプリケーションの設定をリセットします。 パブリケーションおよび配布データベースが削除されます。 すべてのレプリケーションおよび切替メニュー オプションのステータスが、完了モードからリセット モードにリセットされ、レプリケーションを最初からやり直すのに役立ちます。
  • すべてリセット: すべてのメニュー オプションをリセットし、レプリケーションの設定を削除します。 すべてのオプションの状態は、リセットに変更されます。
  • クリア: 環境設定の活動をクリアします。 プロジェクト ID の値、環境 ID の値、ソース データベースの詳細など、すべての情報がキャッシュからクリアされます。
  • ヘルプ: 更新されたステータスでデータ アップグレード移行オプションを表示します。
  • 終了: アプリケーションを閉じます。
  • Set-failed: 環境を削除する場合、および環境が PrepareingForReplicationReadyForReplication、または レプリケート中の 状態である場合は、このオプションを使用して環境の状態を [失敗] に設定し、ライフサイクル サービスから環境を削除できます。

トラブルシューティング

問題解決の情報については、Dynamics 365 Finance + Operations セルフ サービス環境への問題解決アップグレード を参照してください。

SQL Server Management Studio 経由でのレプリケーションの構成とステータスについて

SSMS で、オブジェクト エクスプローラーにレプリケーション フォルダーが含まれる場合、レプリケーション機能がサーバーにインストールされ、使用可能になります。

データ アップグレード プロセスの手順 3 が完了したら、レプリケーション フォルダー下にコンフィギュレーションされたパブリッシャーが表示されます。 レプリケーション ステータスを確認するには、レプリケーション フォルダーを選択したまま (または右クリック)、レプリケーション モニターの起動を選択します。

  • レプリケーション モニターには、レプリケーション用に作成されたすべてのパブリッシャーを表示できます。
  • スナップショット タブには、スナップショットのステータスが表示されます。
  • 詳細ログ/トランザクションを表示するには、グリッド品目をダブルタップ (またはダブルクリック) します。
  • ターゲットへのデータ レプリケーションを表示するには、すべてのサブスクリプション タブで、グリッド品目のサブスクリプションをダブルタップ (またはダブルクリック) します。