I've got a commercial Home windows desktop application that requires a after sales database. Personally i think that SQL Server wouldn't be the best choice because it is overkill.

An amount you recommend and just how can you deploy it?

You could attempt SQLite. It is a full relational database that's saved to some file and loaded on program load. It's perfect if you do not want the overhead of the full SQL server.
You can use it from C, C++, C# and VB.Internet (System.Data.Sqlite), Java (through JDBC) and it is even incorporated with Python! (the [cde] module)

If you are searching for something to embed to your application (instead of getting a seperate server running), consider SQL Server Compact Edition or SQLite.

You will find a number of options that actually is dependent on the thing you need.

There is the scaly-lower SQL Server variants: SQL Server Express (free) or SQL Server Compact Edition.

Plus there is numerous .Internet based database systems that compile straight into your application - take a look at VistaDB among the most prominent and far-spoken-about items.

Plus there is many other SQL-based system, e.g. Firebird (open-source) or MySQL among many more.

Without learning more about what your real needs (and reasons against SQL Server) are, giving plenty of advice is a little challenging.

Firebird is a very awesome database for Desktop application

There's an embedded version which may be easy to deploy.

Many software apply it this : I'll just provide a couple of example :

and many more here

I additionally utilize it and I am happy by using it :)