web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics AX (Archived)

Full CIL

(0) ShareShare
ReportReport
Posted on by 3,801

Hi All,

We have 2 AOS in our environment. We are deploying reports, codes e.t.c in our environment.

I have some confusion/questions to ask.

  • Do we need to run Full CIL on all the AOS servers or only one?
  • Do we need to run DB synchronization on all the AOS servers or only one?

Note: After deploying code and reports, we have run Compilation, full CIL and DB synchronization on one AOS. 

Now one AOS server is working fine as expected but other is crashing.

Regards,

Hassan

*This post is locked for comments

I have the same question (0)
  • Suggested answer
    Vilmos Kintera Profile Picture
    46,149 on at

    CIL is stored in the database, the same as your metadata. Doing CIL and Synch on all AOSes are basically duplicating the same work.

    You are not following best practices though. You should never import changes and compile code in Production.

    Set up a Build/Staging environment, do the compilations and synch there, and export the modelstore. It will contain both source code/objects and compiled code.

    Then you only need to apply your modelstore to Production in a maintenance window, and synchronize the data dictionary there while only 1 AOS instance is running in case there were metadata changes, to reflect it to your database holding the data.

    After the synchronization, report deployment, configuration changes, AIF refresh or any other steps which you are doing as part of your maintenance, restart all AOS instances in the end.

    technet.microsoft.com/.../hh292604.aspx

  • Suggested answer
    Martin Dráb Profile Picture
    237,878 Most Valuable Professional on at

    Keep just one AOS running and build CIL. When you start the other CIL, it will use the previously built CIL.

    There is just one database, therefore synchronizing it once is sufficient (and it's not related to the title of this thread, "Full CIL").

    If you have a problem with a crashing AOS, fell free to create a thread where you'll explain this problem with as many details as possible.

  • Hassan_rulz Profile Picture
    3,801 on at

    Hi Vilmos,

    Thanks for the details.

    I just want confirmation. Do we need to run CIL on all the AOS servers to get the new customization or deployments?

    Regards,

    Hassan

  • Hassan_rulz Profile Picture
    3,801 on at

    Hi Martin,

    Are you saying that we need to run CIL on all the servers?

    Regards,

    Hassan

  • Suggested answer
    Vilmos Kintera Profile Picture
    46,149 on at

    The answer already said that. Databases are shared! Why would you want to generate the same results in the SysXPPAssembly table twice?

  • Hassan_rulz Profile Picture
    3,801 on at

    Thanks again Vilmos,

    I have seen someone who is deploying/merging XPO codes on production environment which has 4 AOS servers. He was running Full CIL on all the AOS server once at a time.

    Therefore I need to clear my confusion here.

    Just one more question, If we have to deploy on production environment which has multiple AOS then what steps we should follow?

    Regards,

    Hassan

  • Erik HB Profile Picture
    205 on at

    In that case, replace technician and retry...

  • Suggested answer
    Ajit Profile Picture
    8,755 on at

    Question is how you are deploying your changes? Model\Model Store\Build\XPOs? As Vilmos mentioned, best practice is to have a build server. If you are deploying to Prod which has 4 AOSs, stop all other 3 AOSs and keep running one and do the deployment. Once completed, start other AOSs as well.

  • Verified answer
    Vilmos Kintera Profile Picture
    46,149 on at

    You can only run one CIL at a time.

    You should really read the documentation I have linked earlier. The process is to prepare modelstore in Build environment (which was initially cloned from Production AX_model DB). Code should be imported to that environment first via XPO or TFS synchronization.

    Full compile (axbuild utility).

    Data dictionary synchronization.

    Full CIL.

    Export AXModelStore with axutil.exe or from the AX PowerShell library with Export-AXModelStore cmdlet.

    T-30 mins before maintenance downtime: import AXModelStore to a Temporary schema in AX_Model DB.

    T-0 mins: shutdown all AOS instances, SSRS, SSAS, DIXF services

    T+5 mins: apply Temporary schema to actual modelstore, so code is replaced

    T+6 mins: start 1 AX AOS in maintenance mode, so no other users can connect

    T+8 mins: DB synchronize (if there were ID conflicts, resolve that in SQLDictionary table)

    T+25 mins: AIFServices form refresh (if services were modified or there are new operations/AIF ports), setup and configuration changes, data upgrade scripts, report deployment, or whatever extra tasks you have to do as part of the release process

    T+35 mins: start everything back, testing, end of maintenance

    I also clean up the label file folders while AOSes are down, get rid of AUC/KTI files on the Remote Desktop Service Hosts. Once services are back, I validate if AIF ports are running because sometimes it did happen that one of them does not fully come up. Also it could happen that VSAssembly folder is not populated automatically with all DLLs on the server, so I make a visual inspection for all AOS VSAssemblies if files are there. If any of these two are missing, that is a manual restart for the specific AOS instance.

    For me the actual downtime rarely takes more than 60 minutes, though I have scripted most of the steps in PowerShell to shorten it as much as possible. We are doing weekly releases.

  • Vilmos Kintera Profile Picture
    46,149 on at

    Can you please make sure you tick the checkboxes for helpful answers next to each post, so the topic gets resolved? Thank you.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics AX (Archived)

#1
Priya_K Profile Picture

Priya_K 4

#1
Martin Dráb Profile Picture

Martin Dráb 4 Most Valuable Professional

#3
Ali Zaidi Profile Picture

Ali Zaidi 2

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans