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/library/cc645993%28v=SQL.110%29.aspx shows more detailed comparison. So, in this particular scenario that I just described, would it be sufficient if I just deployed and express edition on client's machine?
Now, about what I said about some functions not being available in express edition, http://msdn.microsoft.com/en-us/library/cc645993(v=SQL.110).aspx#CrossBoxScale shows that express edition is limited to a database of size 10Gb, now I know that is more than enough in the scenario I described above, but what if in some other case I need more than that? Than express edition won't do it, than how should I deploy?
Finally, http://www.microsoft.com/sqlserver/en/us/get-sql-server/how-to-buy.aspx shows two more edition, Compact and Developer, I know about developer but what is this compact edition? And more importantly, why are these not comared or listed here?
Edit 2: Its 4Gb, the limit, not 10Gb. 10Gb is in SQL Server 2008 R2 Express and above, 4Gb in SQL Server 2008 Express.
marc_s: Thanks for that!
Yes, we can use multiple instance of SQL Server of same machine/server. All instances of the database engine other than the default instance are identified by an instance name specified during installation of the instance.
You can install as many as 50 SQL Server instances on a Windows Server; obviously, we do not recommend this. In a Windows failover cluster, the maximum number of SQL Server instances is reduced by half if you're using shared cluster drives. Only one of the SQL Server instances on a server can be the default instance.
Microsoft SQL Server can run on a network, or it can function without a network.
Licensing SQL under the CAL model requires each instance of SQL (virtual or physical) to be licensed with a single SQL Server license. Then a choice of User or Device CALs (Client Access Licenses) are required for every user or device which can access the server.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With