Question Status

Verified
twildt asked a question on 11 Nov 2013 11:11 AM

1. I am finished with the upgrade to R2 from 2012 FP CU3.  Had some errors after the SQL synchronize.  Can't figure out what to do about them.  See below:

Synchronize database

Cannot execute a data definition language command on Payroll US Tax History Consolidated

Cannot execute a data definition language command on FIscal receipt taxes view

Cannot execute a data definition language command on Transactions

and a bunch more of these.

2. Every time I start the client on the upgraded server I get "The model store has been modified." screen.  Why and how do I fix?  I tried choosing the skip at the bottom but when i restart the client again it just comes back.  Even after I restart the AOS.

3.  I also get the following error when I restart the AOS and start the client first time.  see screenshot:

Reply
Verified Answer
Jesper Kehlet responded on 11 Nov 2013 5:21 PM

Tom, as I previously mentioned to you in an email, try and truncate the SysSetupLog table (from SQL using DELETE FROM SYSSETUPLOG), then create the folloing job and run it inside AX:

static void SetSysSetupLogCheckListFinished(Args _args)

{

   #SysCheckList

   SysSetupLog::save(classStr(SysCheckList_Upgrade), #CheckListFinished);

}

I have seen it happening to a customer even today, where the Role Center would not start because AX 2012 R2 CU6 Data Migration/Upgrade did not correctly set the SysCheckList_Upgrade SysSetupLog entry to Finished, but rather Executed.

Since your database is relatively empty, it should be fairly safe to run it if your data migration has completed already.

If it still happens after this, let me know.

/Jesper

Reply
Suggested Answer
Tommy Skaue responded on 11 Nov 2013 11:18 AM

In order to get rid of the "model store has been modified" I would recommend a full compile.

In order to understand why the syncronization fails I would recommend viewing the event log on the AOS Server. It could be an index not being created due to data already in the table - data making it impossible for the index to be created.

The warning about the AOS Service Account not being able to write to the event log on the SQL Server can safely be ignored. Or you could grant the AOS Service Account sufficient access on the SQL Server to write to that event log.

Tommy Skaue | Dynamics AX Developer from Norway | http://yetanotherdynamicsaxblog.blogspot.no/ | www.axdata.no

Reply
Suggested Answer
Tommy Skaue responded on 11 Nov 2013 11:37 AM

Are you on CU7 already?

The "Modelstore has changed" dialog normally loads when the system detects a "dirty" layer due to installation or uninstallation of models.

Are you getting any compilation errors? Are you still unable to synchronize the Data Dictionary? CIL compilation is the last piece to the puzzle, but it depends on a compilation of metadata and X++ without any errors. It also depends on a data synchronization. Get those two in shape before CIL compile. :-)

Tommy Skaue | Dynamics AX Developer from Norway | http://yetanotherdynamicsaxblog.blogspot.no/ | www.axdata.no

Reply
Suggested Answer
Jesper Kehlet responded on 12 Nov 2013 4:42 AM

Tom, you can always go back and view the compile log under

C:\Users\<USERID>\Microsoft\Dynamics Ax\Log

You should see an AxCompileAll.html

Reply
Suggested Answer
Tommy Skaue responded on 12 Nov 2013 9:20 AM

Well, maybe this works:

Change the code in the same job to run this:

SysModelStore::clearInstallMode();

It should set the ModelStore to NoInstallMode.

Tommy Skaue | Dynamics AX Developer from Norway | http://yetanotherdynamicsaxblog.blogspot.no/ | www.axdata.no

Reply
Suggested Answer
Tommy Skaue responded on 11 Nov 2013 11:18 AM

In order to get rid of the "model store has been modified" I would recommend a full compile.

In order to understand why the syncronization fails I would recommend viewing the event log on the AOS Server. It could be an index not being created due to data already in the table - data making it impossible for the index to be created.

The warning about the AOS Service Account not being able to write to the event log on the SQL Server can safely be ignored. Or you could grant the AOS Service Account sufficient access on the SQL Server to write to that event log.

Tommy Skaue | Dynamics AX Developer from Norway | http://yetanotherdynamicsaxblog.blogspot.no/ | www.axdata.no

Reply
twildt responded on 11 Nov 2013 11:28 AM

Starting with the first piece I have done another Full compile with synchronize from the "in-place upgrade checklist".  This is where I get those errors also btw for the second question.

So, do you think I should do another compile?  Should I run the compile using AXutil from from command line?  I have done this already too.  Each time I do a synchronize and then a full CIL generation.

Ok on the event log issue.

Reply
Suggested Answer
Tommy Skaue responded on 11 Nov 2013 11:37 AM

Are you on CU7 already?

The "Modelstore has changed" dialog normally loads when the system detects a "dirty" layer due to installation or uninstallation of models.

Are you getting any compilation errors? Are you still unable to synchronize the Data Dictionary? CIL compilation is the last piece to the puzzle, but it depends on a compilation of metadata and X++ without any errors. It also depends on a data synchronization. Get those two in shape before CIL compile. :-)

Tommy Skaue | Dynamics AX Developer from Norway | http://yetanotherdynamicsaxblog.blogspot.no/ | www.axdata.no

Reply
twildt responded on 11 Nov 2013 11:41 AM

I am trying to upgrade our 2012 FP CU3 database instance to R2 CU6.  I removed all code and modules from top 4 layers so they didn't get in way of upgrade.  I am at the very end and the above is what I am getting.

I guess I will run another full compile.  Yes I got a few compile errors but we didn't think they were of any issue.

Reply
Tommy Skaue responded on 11 Nov 2013 11:44 AM

Good luck! :-)

Tommy Skaue | Dynamics AX Developer from Norway | http://yetanotherdynamicsaxblog.blogspot.no/ | www.axdata.no

Reply
twildt responded on 11 Nov 2013 11:47 AM

I wish it didn't take 5 hours!

Reply
Tommy Skaue responded on 11 Nov 2013 11:50 AM

Well, as much as I hate to break it to you, you really should consider CU7. Compile time reduction by 90% just to name one very good reason.

Tommy Skaue | Dynamics AX Developer from Norway | http://yetanotherdynamicsaxblog.blogspot.no/ | www.axdata.no

Reply
twildt responded on 11 Nov 2013 11:57 AM

We can’t go CU7 yet because of our 3rd party’s unfortunately.

Question, after the CU6 upgrade, do I need to create a new database for the Baseline Database?  The upgrade process never creates a new Baseline Database for the R2 instance.  Or am I supposed to point to the split _models database for the baseline database?

Reply
Tommy Skaue responded on 11 Nov 2013 12:13 PM

No, no... Forget about the baseline in this process. You can use it for comparison with old code if you need to, but it is not necessary.

Here is my post about the purpose of baseline:

yetanotherdynamicsaxblog.blogspot.no/.../baseline-is-new-old.html

Tommy Skaue | Dynamics AX Developer from Norway | http://yetanotherdynamicsaxblog.blogspot.no/ | www.axdata.no

Reply
twildt responded on 11 Nov 2013 12:22 PM

So even after I am done with the upgrade process I still don't need to worry about the baseline database?  Nice article btw.  I think I understand.  But now that brings me to another question.  Does this mean that the _model database is being used by the AOS?  How come it doesn't show up in the AX2012 Server Configuration for the AOS?

Reply
Tommy Skaue responded on 11 Nov 2013 12:52 PM

The baseline database is essentially just a tool for the developers to be able to compare elements with the "old" version. Doesn't replace version control, though. It is a remnant from previous versions of AX, but quite useful for its purpose.

Now the model-database is immensely important to AX. It is the database holding the application object tree, so the AOS definitely uses it. I reckon the main reason it is not "configurable" is to make it harder for professionals to get tempted to switch the model(-store) database. The business database and the modelstore database is *tightly* bound. They are like inseparable twins and if you were to try separate them your would open a intergalactic wormhole that would destroy the totality of existence.  Get my drift. Don't go there. So yea, they found it best to let it be configurable.

Tommy Skaue | Dynamics AX Developer from Norway | http://yetanotherdynamicsaxblog.blogspot.no/ | www.axdata.no

Reply
Verified Answer
Jesper Kehlet responded on 11 Nov 2013 5:21 PM

Tom, as I previously mentioned to you in an email, try and truncate the SysSetupLog table (from SQL using DELETE FROM SYSSETUPLOG), then create the folloing job and run it inside AX:

static void SetSysSetupLogCheckListFinished(Args _args)

{

   #SysCheckList

   SysSetupLog::save(classStr(SysCheckList_Upgrade), #CheckListFinished);

}

I have seen it happening to a customer even today, where the Role Center would not start because AX 2012 R2 CU6 Data Migration/Upgrade did not correctly set the SysCheckList_Upgrade SysSetupLog entry to Finished, but rather Executed.

Since your database is relatively empty, it should be fairly safe to run it if your data migration has completed already.

If it still happens after this, let me know.

/Jesper

Reply
twildt responded on 12 Nov 2013 4:35 AM

I ran the compile again.  It closed everything down so I didn't get to see if there were any errors or not.  Which log should i look at for the compile?  I figure I will need to do another database sync but I want to see the logs first before i continue.

If all looks ok then I will do what you mentioned Jesper thanks!

Reply
Suggested Answer
Jesper Kehlet responded on 12 Nov 2013 4:42 AM

Tom, you can always go back and view the compile log under

C:\Users\<USERID>\Microsoft\Dynamics Ax\Log

You should see an AxCompileAll.html

Reply
Tommy Skaue responded on 12 Nov 2013 5:08 AM

The logging assumes logging is turned on, as far as I know.

Turn this on under Tools, Options, Developer, Compiler, Activate Logging.

Tommy Skaue | Dynamics AX Developer from Norway | http://yetanotherdynamicsaxblog.blogspot.no/ | www.axdata.no

Reply