I am facing a problem at one of my clients,
They are requiring that each company has a database instance that save the data on, rather than having a one holding database for all companies?
How can that be approached, is it doable or not?
You can consider portioning in AX, it is very similar and will be totally separated for the data as if you are using two separate databases.
You can't install AX business data over multiple logical databases. There are artifacts that are still shared across partitions, for example the Service and Integration Ports (formerly known as AIF).
It is not possible
Even the partitions in AX will store the data within the same database. It has nothing to do with the SQL partitioning. The requirement is not possible. The only way is to buy an AX license per company. You then have to install and setup per company. This is not recommended.
I think you should start by asking the customer why they want to do that. I can't believe that they specifically want each company in a different database - that's a technical "solution" to a specific requirement. Its not logical to ask for that unless there is a specific business requirement driving it.
So what is their actual functional requirement? Once we know that we can probably come up with a way in AX to deliver it.