I recommend PostgreSQL. As a bonus, you get perfect timezone-aware data handling in JDBC. Not available in MS SQL.
None required.
At this point I would normally put "[/snark]" to acknowledge that I really didn't answer the question you asked, but in this case I'm answering the question(s) you will ask after you go down the MS SQL road.....
Unless you’re going with high availability setup, go with Standard.
Unless you have a limited number of users or devices, or need external access, (outside the network), go with CORE.
That said, I second the PostgreSQL recommendation, for the same reasons.
We normally use MS SQL due to client requests. This also means our client generally already has a database installed that we should connect to.
That said, it’s more important to configure your tags and historian correctly instead of getting a more expensive license. When you consider your deadbands and polling times during development, you can store a lot of useful data before it becomes too hard for the database.