A very important aspect of the every day life in AX is the Data Dictionary Synchronize process. If you do not fully understand it, sometime you can find yourself in a situation where you don't know how to recover from the errors it raises.
Let's see what this is about.
First item: how does AX work with SQL Server. The definitions of the tables (table name, columns' names, their type, lenght, etc) are keep in AX, of course. However, they must somehow get in the SQL Server, otherwise, the data won't exist.
This is where the DD Synchronize process kicks in. It is basically a task that takes each table in AX, and creates its definition in SQL Server. This happens if the table doesn't exist yet in SQL Server, however, if the table exists, it will look for changes and then, try to update the table according to the changes, if any.
This sounds very simple and so it is. You just run a Sync on a table that you've created or changed and AX will commit the differences. Then when the SQL statement are being ran by AX, SQL Server will have the proper physical table definition and will be able to return the data to you.
So, in a nutshell this is the process and a very high level definition. I'm going to talk about several items that could cause some issues in the next posts.