I am about to start building a ASP.NET MVC web application that relies on a database as it’s backend (big surprise).
As a student, I have access (via Dreamspark) to SQL Server 2008 Developer Edition, and with the default VS 2008 install, I have SQL Server Express 2005 installed already.
Many of the examples on MVC I have seen use a local .mdf (SQL database) as their backend.
My question is:
Should I use a local database file for initial development and design? (SQL Server Express) or should I install the 2008 dev edition and use a “proper” database instead?
This is an application that I eventually intend to launch as a public site, so I’m looking to build for that.
Before you start using the Development edition, you need to be aware what it is and what the limitations are of you using it.
SQLExpress is perfectly fine for using, both for dev and when you release your product. It has the same engine as SQL Standard, but with a couple restrictions in place, such as a max file size of 4GB (and i think it also has a RAM limit, but not sure on that one). You are allowed to use SQL Express as the backend for your website with no extra licencing costs (i.e. – free). I have worked at one place where they worked out a system of chaining several instances of SQL Express together just to get round the 4GB file limit – but be aware that this may contravene the licence of it.
SQL Developer is actually SQL Enterprise, but without the install time restriction on OS. You are also not permitted to use SQL Developer in production (i.e. for your live app). For most purposes whatever you code on SQL Developer can also execute on SQL express, but you have to be careful not to use any of the Enterprise features – licencing Enterprise can be a pricey option.
So go ahead and use SQL Express, it is a good option.
P.S. – i am assuming that your database won’t be high load – if it is then you would need to consider either Standard or Enterprise.