Alex Rivera | Logout

Do I have to install sql server on each client if my software uses it?

Asked 2012-07-14T06:42:25.003
14

If we develop some software in c# (or basically .Net), we don't install visual studio to any client. The client just have to have required .Net framework (1.0, 1.1, 2.0, 3.0 etc) installed and we are good to go.

Same way, if we are making making an app in VC2008, he just needs to have Visual C++ 2008 runtime (available from MS site free, about 4-5Mb). So, basically, we just need runtime environment. but there isn't any SQL server 2008 runtime (or I am not aware of it?).

So, my question is if my software is using SQL Server 2008, what runtime (or anything else) will be required on client side for it to work?

Also, one more thing, I see there is an SQL Server express edition, which I can supposedly use in deployment, but it seems kinda heavy knowing that if my software if just 5, 10 or 20Mb I need to install about a gig just so user can run it.

Lastly, if I am using SQL Server 2008 Developer Edition (which I am, or enterprise one not sure) and I installed SQL Server express on client, wouldn't it cause some problem if my software uses some features that are not supported in express edition? (say number of database, or concurrent connection, or anything).

So? What runtime is required for it? And if installing sql server express is the only option, what if I am using some features that are not supported in express edition? Surely, I can't go on doing a full install of developer edition on each client!

EDIT: In case this is of any help, my current project is a library management system, and it will be installed the client (the computer of the librarian for whom I am making this), so there is no case of server-client here. So should I install sql express on his computer? Also, as YvesR pointed out in his answer, that link only shows three editions (main ones), but http://msdn.microsoft.com/en-us/li

Edit
Report

1 Answer

8

If you use a SQL Server database to persist your data in your application you need

a. client-server infrastructure where your client connect to a central SQL Server via LAN

b. or use a client installed sql server edition (which is what you want I guess). For this you can use SQL Server Express edition or just a MSDE (Desktop Edition).

See for more details e.g. this blog post http://searchsqlserver.techtarget.com/tip/SQL-Server-2005-Express-vs-Desktop-Engine-MSDE or google for it, plenty of information from MS itself about MSDE.

EDIT: Since 2012 there is no more MSDE, but SQL Server 2012 Express brings a mode like MSDE did. See here: http://www.microsoft.com/sqlserver/en/us/editions/2012-editions/express.aspx

And as you can see here: http://www.microsoft.com/sqlserver/en/us/editions.aspx, there shouldn't be a function that you use that isn't available for a desktop application imho.

answered 2012-07-14T06:51:47.777

Your Answer