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

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

  1. 前提 条件
  2. [データ アップグレード プロセス ] : アップグレードDataMigrationTool.exeを実行してアップグレード プロセスを完了します。
  3. [アプリケーションのレポート] : レプリケーションの検証、レプリケーション ステータス、データ アップグレードのステータス、およびロールバック データ アップグレードのステータスに関するレポートを確認します。
  4. アプリケーションのツール作成セクション : このセクションでは、プロセス パラメータをリセットし、プロセスを再起動します。

前提条件

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

重要

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

メモ

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

  • Microsoft Dynamics AX 2012 データのアップグレード プロセスは、財務と運用のセルフ サービス、サンドボックス (UAT) 環境専用です。 生産計画に対して実行環境。
  • Dynamics 365 用 Data Migration Toolkit の最新バージョンを LCS からダウンロードしてください。
  • リンクされたデータベースを Power Platform 環境2012のデータ アップグレードに AX 使用したりすることはできません。 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 ログインのみを使用します。

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

    メモ

    ユーザーはソース データベースで DB_Owner 権限を持ち、マスター データベースおよびソース データベースにアクセスできる必要があります。

  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 アプリケーションを実行する

レプリケーション プロセスを開始する前に、LCS環境は、 が作成 状態になります。

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

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

    • パブリック: [ lcs.dynamics.com]
    • GCC: [ gov.lcs.microsoftdynamics.us ]
    • 高い、[ uae.lcs.dynamics.com]
      クラウド環境を入力すると、サインインを求めるプロンプトが表示されます。
  2. LCS へのサインインに使用する資格情報を提供します。

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

    指定した値を検証するには、LCSへのログインに使用する資格情報を使用してログインする必要があります。

    メモ

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

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

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

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

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

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

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

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

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

    重要

    SQL Server 認証を使用する必要があります。 ドメイン サインインは使用できません。

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

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

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

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

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

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

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

    1. LCS 環境の状態を、レプリケーションの準備完了からレプリケーションの処理中に変更します。
    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. レプリケーション後: 環境の状態をレプリケート済に更新する

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

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

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

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

    データのアップグレードに成功すると、'ds' オプションは AX 2012 アップグレード トポロジ (LCS) ステータス: 配置済みとして示され、アップグレード ステップは完了状態になります。

    データのアップグレードに失敗すると、'ds' オプションは AX 2012 アップグレード トポロジ (LCS) ステータス: 失敗として示され、ひとつ以上のアップグレード ステップは失敗状態になります。 メニュー オプション (10) ツールには、再開ステータスが表示されます。

    失敗の理由を解決して修正した後、再開操作を実行できます。 アクションが正常に実行されると、LCSの状態環境 "Failed 更新 更新中 から変更されます

    メモ

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

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

    この手順は、データ アップグレードのロールバックをトリガーします。 これにより、アップグレードがトリガーされる前の状態にデータがロールバックされ、LCS 環境の状態がレプリケート済みに設定されます。 これにより、"環境" " " されます。

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

    ロールバックに成功した場合、'rbs'オプションは、AX 2012 年のアップグレード トポロジ (LCS) ステータス: レプリケート済と表示されます。

    ロールバックに失敗した場合、'rbs'オプションは、AX 2012 年のアップグレード トポロジ (LCS) ステータス: 失敗と表示されます。

データ アップグレード プロセスの詳細については、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: 環境を削除したい場合—および環境が PreparingForReplicationReadyForReplication または Replicating Replicated) の状態にある場合—このオプションを使い 失敗 に環境状態を設定し、その後環境は LCS から削除されます。

トラブルシューティング

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

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

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

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

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