The “Detect update scripts (Required)” is the first part of the Data upgrade section in the checklist.
If you get the following warning “Data Upgrade mode had already been initialized. If additional updates have been installed complete the data upgrade process for the previously installed updated before restarting the process for any additional updated” the when you for the first time click on the “Detect update scripts (Required)” step in the Data Upgrade Checklist, you will have problems as the required data upgrade scripts are not prepared.
Typically you will not see the “Presynchronize (required)” task, as shown below:
Please note that this is only an issue, if this is the first time you run this step; the warning message is a normal message for when you have already completed the data upgrade.
This problem has been seen a couple of times, and it was due to some historical data remaining in the ReleaseUpdate* tables from a restarted or incomplete AX 4.0/2009 to AX 2012 RTM upgrade. For some reason, even though some upgrades had appeared to be successfully updated to AX 2012, there was some old data remaining.
If you have this problem you can check for old data in SQL, by using the following scripts:
SELECT COUNT(*) FROM RELEASEUPDATEBULKCOPYFIELD_GLS;
SELECT COUNT(*) FROM RELEASEUPDATEBULKCOPYFIELDERRORS;
SELECT COUNT(*) FROM RELEASEUPDATEDISCOVERYSTATUS;
SELECT COUNT(*) FROM RELEASEUPDATEJOBSTATUS;
SELECT COUNT(*) FROM RELEASEUPDATEMINORSCRIPTS;
SELECT COUNT(*) FROM RELEASEUPDATESCRIPTDEPENDENCY;
SELECT COUNT(*) FROM RELEASEUPDATESCRIPTS;
SELECT COUNT(*) FROM RELEASEUPDATESCRIPTSUSEDTABLES;
If you find that there is old AX 2012 RTM upgrade records in the tables above from a previous upgrade, you can delete the records with the following steps:
1) Close the AX 2012 R2 Client
2) Stop the AOS Server
3) As with best practice, make a backup of the database as you are going to delete data.
4) Run the following SQL Script:
TRUNCATE TABLE RELEASEUPDATEBULKCOPYFIELD_GLS;
TRUNCATE TABLE RELEASEUPDATEBULKCOPYFIELDERRORS;
TRUNCATE TABLE RELEASEUPDATEDISCOVERYSTATUS;
TRUNCATE TABLE RELEASEUPDATEJOBSTATUS;
TRUNCATE TABLE RELEASEUPDATEMINORSCRIPTS;
TRUNCATE TABLE RELEASEUPDATESCRIPTDEPENDENCY;
TRUNCATE TABLE RELEASEUPDATESCRIPTS;
TRUNCATE TABLE RELEASEUPDATESCRIPTSUSEDTABLES;
5) Start the AOS and Client
6) Rerun the step “Detect update scripts (Required)” from the Data Upgrade checklist.
Disclaimer: Please ensure you have full backups of databases and files before making any changes as detailed in the steps above.