DSC Provisioning Choosing a Database

I have finally started to win over more and more people in my company to the advantages of PowerShell. So much so, I have been asked to reconstruct our entire provisioning process. Very excited for the opportunity.

I have started trying to constructed what all the pieced need to be, and I am going to start with and Authoring server and two Pull servers behind a load balancer. We have many different environments with different domains across two main datacenter.

In our current system we construct these Affinities that ultimately provide the data to build the server to meet all it’s requirements, both the requesters and the environment’s. I am thinking of putting a database on my Authoring server to reconstruct those Affinities, so I have a central place to make changes as there are changes in the environment and to save me a lot of coding with “switch” statements and the like. Based on the request, the database can output the properties of an object with all the information I need specific to the request.

My question is, should I use SQL Express or SQLite? I was going to use SQL Express, but I was thinking the lighter the database the better, and SQLite seemed to be a lot simpler and lighter. But if I use SQL Express, it is all Microsoft… I don’t know.

I am hoping to maintain a list off all provisioned servers and their final configurations for reference and if I need to recreate a server I can do that more easily.

What do you think?

It pretty much doesn’t matter. SQL Server would require nothing else as its support is built into .NET, but provided you can install SQLite OLE DB drivers, then accessing that is just as easy from a code perspective. If you’re not joining tables and whatnot, even XML would be simple.