AX 2012 からのアップグレード - 開発環境でのデータ アップグレード
重要
現在、アップグレードは、Dynamics AX 2012 R2 または Dynamics AX 2012 R3 のいずれかからのみ行うことができます。 最新の財務と運用アプリケーション リリースにアップグレードする前に、それぞれのリリースに対応した最新の累積的な更新プログラムに更新してください。
これは、アップグレード プロジェクトのエキサイティングな瞬間です。 このタスクの出力により、Microsoft Dynamics AX 2012 から最新の財務と運用開発環境にアップグレードされた最初のデータセットが提供されます。
このプロセスを共有サンドボックス環境で実行する前に、開発環境で実行することをお勧めします。 このアプローチには 2 つの理由があります。
- 開発者がカスタム データ アップグレード スクリプトを書き込んでテストできるローカル データを提供します。
- これは、データ アップグレード プロセスの繰り返しに費やされる全体的な時間を短縮できます。 開発環境では、問題を即座にデバッグし、コードを調整し、アップグレードを数分以内に再実行することができます。 より規模の大きいサンドボックス環境ではこの機敏性のレベルが許可されていません。 それらの環境では、問題の修正やデバッグ、コードの更新、更新済コードの配置、およびアップグレードの再実行に少なくとも数時間を要します。
データのアップグレードを実行する前に アップグレード アナライザー を実行して、特定された問題に応答することを強く推奨します。 これにより、データのアップグレードをより速く簡単に実行できます。
重要
統合開発者エクスペリエンス (UDE) アプリケーションでサポートされていないアップグレード環境。 ホストされている開発環境、ローカルで実行されるクラウド 環境 (CHE) または VM を使用します。 詳細については、開発環境の配置とアクセス を参照してください
エンド ツー エンド データのアップグレード プロセス
前提条件
AX 2012 にてアップグレード前のチェックリストが完了済みである必要があります。 詳細については、データ アップグレード用のアップグレード前チェックリスト を参照してください。
重要
アップグレードを実行する前に、使用している Dynamics 365 バージョンの最新の 品質更新 を適用してください。
AX 2012 データベースをバックアップします
AX 2012 データベースをバックアップするには、標準の Microsoft SQL Server プロセスを使用して BAK ファイルを作成します。 バックアップを作成するときに圧縮オプションを使用すると、ファイル サイズが小さくなり、Microsoft Azure Storage にアップロードおよびダウンロードするために必要な時間が短縮されます。
メモ
AX 2012 データベースの照合順序を、SQL_Latin1_General_CP1_CI_AS に変更する必要があります。 データベースの照合順序が異なる場合は、これらの手順に従います: 開発環境のデータベース照合順序の変更。
Azure ストレージにバックアップをアップロード
開発環境がローカルまたは Azure で VM としてホストされている場合、2012 データベースのバックアップをそれに転送する必要があります。 ローカル VM を使用すると、仮想ネットワークで許可されている場合に、ファイルをネットワーク全体に直接転送できます。 Azure でホストされているVMの場合は、独自のセキュリティで保護されたファイル転送サービス (S AZURE) を使用して、バックアップを Azure Storage にアップロードすることをお勧めします。 これに対して、独自の Azure ストレージ アカウントを指定する必要があります。 Azure ストレージ間でファイルを移動するのに役立つ無料のツールがあります。コマンド ラインからは Azcopy を、GUI 操作からは Microsoft Azure Storage Explorer を使用できます。 これらのツールのいずれかを使用して、オンプレミス環境から Azure ストレージにバックアップをアップロードしてから、開発環境にダウンロードしてください。
顧客管理の開発環境へのバックアップのダウンロードと復元
メモ
開発環境は、顧客管理のクラウド ホスト環境としてのみサポートされます。 クラウドホスト環境を使用することで、独自の仕様に合うようにドライブの容量を増やすことができます。
新しい開発環境にバックアップを復元する場合、既存の AXDB データベースを上書きしないでください。 代わりに、元のデータベースの横にある AX 2012 データベースを復元します。 アップグレード プロセスは非常にディスクを大量に使用する機能なので、Premium Storage を使用して、クラウドホスト環境を配置してパフォーマンスとタイミングを向上させることができます。
データベースの復元プロセスをスピードアップするには、SQL Server サービスアカウントを BuiltIn\Admin ユーザーに変更します。 ユーザー アカウントについては、Microsoft Dynamics Lifecycle Services (LCS) の環境ページで確認できます。 復元プロセスでは、インスタント ファイルの初期化を使用できます。 詳細については、データベース インスタント ファイルの初期化 を参照してください。
データベースを復元した後、次のサービスを停止します。
- Management Reporter 2012 処理サービス
- Microsoft Dynamics 365 Unified Operations: バッチ管理サービス
- Microsoft Dynamics 365 Unified Operations: データのインポート/エクスポート フレームワーク サービス
- Microsoft Dynamics Lifecycle Services 診断サービス
- World Wide Web 公開サービス
紙幣
アップグレード中、これらのサービスが停止されたままである必要があります。 サーバーを起動すると、これらの問題が再び開始されます。
次に、元の AXDB データベースを AXDB_orig に名前を変更します。 このデータベースは、後でコードを開発する際に参照する場合があります。
ALTER DATABASE AXDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE AXDB MODIFY NAME = AXDB_Orig
GO
ALTER DATABASE AXDB_Orig SET MULTI_USER
GO
最後に、新しく復元された AX 2012 データベース AXDB の名前を変更します。
データ アップグレード展開可能なパッケージを実行
最新の更新プログラムを実行しているターゲット環境用に最新のデータ アップグレード展開可能パッケージを入手するには、LCS 共用資産ライブラリから最新のバイナリ更新プログラムをダウンロードします。
LCS にサインインします。
共有資産ライブラリ タイルを選択します。
共有アセット ライブラリのアセット タイプの選択で、ソフトウェア配置可能パッケージを選択します。
すべてのデータ アップグレード パッケージは、AX2012DataUpgrade で開始されます。 一覧で、特定の Dynamics 365 バージョンに対応するデータ アップグレード パッケージを検索します。
たとえば、バージョン 10.0.26 からアップグレードする場合、パッケージ名は AX2012DataUpgrade-10.0.26 となります。
ダウンロードするデータ アップグレード パッケージを選択し、クラウドホスト環境で C:\Temp フォルダーに保存 \ コピーします。
ダウンロードを選択したまま (または右クリック) にしてから、プロパティを選択します。
解除チェックボックスで OK を選び、ファイルを展開します。
管理者として PowerShell プロンプトを開き、配置可能なパッケージ フォルダーを変更します (例、C:\Temp\AX2012DataUpgrade 10.0.26)。
上記の バックアップを顧客管理型開発環境にダウンロードして復元する 手順で停止したサービスがまだ停止されているかを確認します。 これらのファイルが実行中の場合は、データベースのロックに関する問題が発生します。
次のスクリプトを使用して、配置可能パッケージを実行します。 スクリプト内の Runbook ID とファイル名を編集できます。
.\AXUpdateInstaller.exe generate -runbookid="MajorVersionDataUpgrade-runbook" -topologyfile="DefaultTopologyData.xml" -servicemodelfile="DefaultServiceModelData.xml" -runbookfile="MajorVersionDataUpgrade-runbook.xml" .\AXUpdateInstaller.exe import -runbookfile="MajorVersionDataUpgrade-runbook.xml" .\AXUpdateInstaller.exe execute -runbookid="MajorVersionDataUpgrade-runbook"
メモ
データのアップグレードには数時間かかる場合があります。
データ アップグレードの監視
配置可能パッケージには、アップグレード全体を処理する 1 つ のRunbook ステップがあります。 このステップはバックグラウンドで実行される次のサブステップで構成されます。
- PreReq – この手順は、SQL ディクショナリを構成し、システム シーケンスではなく SQL 順序を適用し、ユーザー情報とシステム変数を変更し、システム テーブルのデータベース同期を行い、新しいテーブルの機能を同期化します。
- PreSync – 最初のアップグレード ジョブ セットをバッチ処理によって呼び出す場合、主に固有インデックスを無効にします。
- DBSync – この手順では、最初の完全同期が実行されます。 PreSync ステップ中に無効となった固有のインデックスは、この手順で作成されません。
- PostSync – この手順では、メイン データ変換ジョブをバッチ処理経由で実行します。
- FinalDBSync – この手順では、データベースの残りの全オブジェクトを同期化する最終的なデータベース同期を行います。
アップグレード サービスの実行手順を決定するために、AXDB データベースで次の SQL クエリを実行できます。
SELECT StartTime, EndTime, Steps, SubSteps, Status
FROM [DBUPGRADE].[DATAUPGRADESTATUS]
ORDER BY EndTime DESC
この結果は次の例のようになります。 ここで指定された日時は、説明用のみに使用されます。 この時間は、データ量および AX 2012 年に使用されるモジュールによって異なります。
StartTime | EndTime | ステップ | SubSteps | 状態 |
---|---|---|---|---|
2022-05-20 17:16:07.097 | 2022-05-20 17:16:07.097 | FinalDbSync | DisableDataUpgradeFlag | 完了 |
2022-05-20 17:16:06.997 | 2022-05-20 17:16:06.997 | FinalDbSync | EnableDbLogTriggers | 完了 |
2022-05-20 17:16:06.937 | 2022-05-20 17:16:06.937 | FinalDbSync | DisableSafeMode | 完了 |
2022-05-20 16:48:49.390 | 2022-05-20 17:16:06.802 | FinalDbSync | SyncSchema | 完了 |
2022-05-20 16:48:49.333 | 2022-05-20 16:48:49.333 | FinalDbSync | EnableSafeMode | 完了 |
2022-05-20 16:47:30.860 | 2022-05-20 16:48:49.169 | PostSync | RestoreBatchConfiguration | 完了 |
2022-05-20 16:46:15.207 | 2022-05-20 16:47:30.738 | PostSync | EnableBatchPriorityScheduling | 完了 |
2022-05-20 16:44:43.403 | 2022-05-20 16:46:15.091 | PostSync | DisableSysDeletedObjects | 完了 |
2022-05-20 16:44:40.497 | 2022-05-20 16:44:40.497 | PostSync | ImportIsvLicenses | 完了 |
2022-05-20 16:44:09.190 | 2022-05-20 16:44:40.379 | PostSync | StopBatch | 完了 |
2022-05-20 15:49:38.207 | 2022-05-20 16:44:09.070 | PostSync | WaitForBatch | 完了 |
2022-05-20 15:49:37.517 | 2022-05-20 15:49:38.108 | PostSync | StartBatch | 完了 |
2022-05-20 15:48:31.517 | 2022-05-20 15:49:37.421 | PostSync | ScheduleScripts | 完了 |
2022-05-20 15:47:13.403 | 2022-05-20 15:48:31.431 | PostSync | StartAos | 完了 |
2022-05-20 15:47:12.667 | 2022-05-20 16:44:43.286 | PostSync | ExecuteScripts | 完了 |
2022-05-20 15:47:12.550 | 2022-05-20 15:47:12.550 | DbSync | DisableSafeMode | 完了 |
2022-05-20 07:49:40.827 | 2022-05-20 15:47:12.466 | DbSync | SyncSchema | 完了 |
2022-05-20 07:49:40.760 | 2022-05-20 15:31:05.716 | DbSync | EnableSafeMode | 完了 |
2022-05-20 07:49:06.673 | 2022-05-20 07:49:37.862 | PreSync | StopBatch | 完了 |
2022-05-20 07:46:59.667 | 2022-05-20 07:49:06.528 | PreSync | WaitForBatch | 完了 |
2022-05-20 07:46:58.637 | 2022-05-20 07:46:59.529 | PreSync | StartBatch | 完了 |
2022-05-20 07:46:31.317 | 2022-05-20 07:46:58.497 | PreSync | ScheduleScripts | 完了 |
2022-05-20 07:45:31.900 | 2022-05-20 07:46:31.180 | PreSync | StartAos | 完了 |
2022-05-20 07:45:31.780 | 2022-05-20 07:45:31.780 | PreSync | ConfigureBatch | 完了 |
2022-05-20 07:45:31.220 | 2022-05-20 07:49:40.519 | PreSync | ExecuteScripts | 完了 |
2022-05-20 07:44:18.410 | 2022-05-20 07:45:31.092 | PreSync | DisaleBatchPriorityScheduling | 完了 |
2022-05-20 07:43:14.880 | 2022-05-20 07:44:18.273 | PreSync | SaveBatchConfiguration | 完了 |
2022-05-20 07:42:05.350 | 2022-05-20 07:43:14.749 | PreSync | EnableSysDeletedObjects | 完了 |
2022-05-20 07:40:44.340 | 2022-05-20 07:42:05.211 | PreSync | CleanupDataUpgradeTables | 完了 |
2022-05-20 07:40:44.250 | 2022-05-20 07:40:44.250 | PreReqs | DisableSafeMode | 完了 |
2022-05-20 07:38:29.060 | 2022-05-20 07:40:44.110 | PreReqs | PartialDbSync | 完了 |
2022-05-20 06:30:01.693 | 2022-05-20 07:38:28.908 | PreReqs | AdditiveDbSync | 完了 |
2022-05-20 06:30:01.647 | 2022-05-20 06:30:01.647 | PreReqs | EnableSafeMode | 完了 |
2022-05-20 06:30:01.590 | 2022-05-20 06:30:01.590 | PreReqs | ClearSysLastValue | 完了 |
2022-05-20 06:30:01.523 | 2022-05-20 06:30:01.523 | PreReqs | ResetAdminUser | 完了 |
2022-05-20 06:30:01.477 | 2022-05-20 06:30:01.477 | PreReqs | PatchSqlSystemVariables | 完了 |
2022-05-20 06:30:01.273 | 2022-05-20 06:30:01.367 | PreReqs | PatchUserInfo | 完了 |
2022-05-20 06:30:00.930 | 2022-05-20 06:30:01.164 | PreReqs | PatchSqlDictionaryPass2 | 完了 |
2022-05-20 06:30:00.150 | 2022-05-20 06:30:00.820 | PreReqs | PatchSqlDictionaryPass1 | 完了 |
2022-05-20 06:30:00.043 | 2022-05-20 06:30:00.043 | PreReqs | UpdateKernelSchema | 完了 |
2022-05-20 06:28:01.157 | 2022-05-20 06:29:59.929 | PreReqs | CreateSqlSequences | 完了 |
2022-05-20 06:28:01.020 | 2022-05-20 06:28:01.020 | PreReqs | DisableDbLogTriggers | 完了 |
データ アップグレードのエラーに関するトラブルシューティング
失敗後、Runbook を再実行
データ アップグレードの Runbook が失敗した場合は、次の例に示すように、-rerunstep オプションを使用して最後のステップを再試行できます。 必要に応じてステップ番号を編集します。
.\AXUpdateInstaller.exe execute -runbookid="MajorVersionDataUpgrade-runbook" -rerunstep=3
Runbook ログを確認
ログは、配置可能パッケージの下のサブフォルダに格納されます。 現在の Runbook ステップのログを見つけるログ フォルダを表示し、エラーを確認します。
PreSync アップグレード ジョブまたは PostSync アップグレード ジョブに関する詳細の表示
アップグレード PreSync と PostSync スクリプトは、データ アップグレードのプロセスが開始しているバッチ プロセスを使い、X++ by で実行します。 Visual Studio のアプリケーション エクスプローラーでは、表示できる一部のクラスの前に ReleaseUpdate が付いています。 Runbook プロセス中にアップグレード スクリプトが失敗した場合、SQL Server Management Studio を開き、次のコードを実行して ReleaseUpdateScriptsErrorLog をクエリすることでエラーの原因をさらに確認できます。
select * from RELEASEUPDATESCRIPTSERRORLOG
追加リソース
トラブルシューティングについては、次の記事を参照してください。