Included in a ASP.Internet MVC project I am focusing on, I'm going to be dealing with SQL Server 2008 Express.

I am unsure the way i is going about getting a version-controlled (I am using Mercurial) method of re-creating the database.

Ideally it ought to be run each time I execute a build in Visual Studio 2008.

EDIT 1: In reaction to handful of the solutions, I am using Visual Studio 2008 Professional Edition, which i've recieved through the Dreamspark program.

Take a look at Visual Studio Team System 2008 Database Edition GDR (Or DataDude)

This enables you to definitely store and use database schemas and artefacts (tables, methods, triggers... virtually everything). Additionally, it enables evaluating one schema against another, or against a clear case of a database and can produced change/deployment scripts.

There's support for reference data too (even though this is not great at this time within the items existence).

There's also integration with MSBuild - I am by using this on the large project now, each time we perform a build, a schema file is produced which then we use to really create the scripts to use to some given database (Using VSDBCMD.EXE). We do not presently instantly push these changes out but doing this is fairly simple.