Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why is the official SQL Server Express container only meant for development and testing?

It says here...

Intended use: development and testing only. Not supported in production environments

Should the production database not be hosted by a container, or is this advice about the Express version, regardless of whether it's in a container?

like image 502
Ian Warburton Avatar asked Apr 24 '17 18:04

Ian Warburton


People also ask

What are the limitations of SQL Server Express?

Limitations of SQL Server Express:1GB maximum memory used by the database engine. 10GB maximum database size. 1MB maximum buffer cache. CPU the lesser of one (1) socket or four (4) cores (number of SQL user connections NOT limited)

What is the difference between SQL Express and Developer Edition?

SQL Server Developer is an ideal choice for people who build and test applications. Express edition is the entry-level, free database and is ideal for learning and building desktop and small server data-driven applications.

Can I use SQL Express in production?

SQL Server Express, Microsoft's free database platform, is free to download, distribute, and use, even in a production environment.

What is the difference between SQL Server Standard and Developer?

SQL Server Web edition is a low total-cost-of-ownership option for Web hosters and Web VAPs to provide scalability, affordability, and manageability capabilities for small to large-scale Web properties. SQL Server Developer edition lets developers build any kind of application on top of SQL Server.


1 Answers

SQL Server inside containers (both Windows and Linux) is still a recent technology, so it's not so tested as a "normal" SQL Server on Windows. So it may contain bugs or behave differently regarding the "normal" version. (For example, if you look at the comments in that page, you will see some people complaining about a problem regarding blobs, that maybe does not affect a default SQL Server installation)

Also, if you look at the "full" SQL Server container (https://hub.docker.com/r/microsoft/mssql-server-windows/), it says the same.

So this claim should be more related to the fact that this a very recent technology (and so should be used with very caution / not used at all in a production environment), than to it being the Express version or not.

Regarding the container storage, in general a database should store its data inside a volume, and not inside the container, for security/accessibility reasons (if the container, for some reason gets bricked, its easier to access the data inside a volume than inside the container), and even performance ones (because the way the containers works, storing the data outside of the container should have better performance).

like image 108
Salem Avatar answered Oct 21 '22 15:10

Salem