Yes, absolutely, because of Microsoft's licensing model for HyperV.
Windows Datacenter Edition is not cost effective for us, and that means we only run two Windows instances per host. By moving MSSQL to Linux, we can free up a Windows Server Standard license for other purposes.
You can run as many non-Windows instances on HyperV as your want, but you can only run 2 Windows instances unless you pay to license every physical core on the server a second or third time, even if you are not using them for Windows (for example, if you wanted to run a third Windows instance on a host.) This means we have additional hardware capacity that we use to run Linux instances next to the 2 allowed Windows instances.
I would consider using it because:
1. I work in a backwards enterprise shop where "no one ever got fired for choosing Microsoft" and it would be easier (read as "possible) to get IT here to support it than Postgres. (That said, they do support Mongo internally but won't admit that to software teams)
2. It's much cheaper than Oracle, which is the other "enterprise" database where it's easier to get an install done
3. It's not Oracle
No, almost certainly not. Why would I use MSSQL in the first place, when I could just use PostgreSQL? The main reason I could see to use MSSQL would be "you're in a Windows shop already", and if that isn't the case, I don't see much reason for it.
Would I? Yes, I would. We're primarily a .Net / MSSQL shop, our DBA's are all familiar with MSSQL and all but a handful of our applications (internally developed or purchased from a vendor) use it.
We just build a giant new MSSQL cluster using AlwaysOn, configuration management with Windows Server Failover Clustering (which AlwaysOn is built upon for some low level functionality) is a HUGE pain in the butt. If SQL Server 2017 was GA at the time I would have highly suggested we just go with RHEL because Pacemaker/Corosync is a lot easier to deal with.
Out of personal preference, I like PostgreSQL a lot better - but when your business already runs MSSQL having options for deployment outside of Windows Server is a welcome change.
In a previous job we had a central master MSSQL database and several replicas of this database globally. This was all run on Windows (obviously) Were I still there, and were this arrangement still in effect, I would certainly be interested in migrating the installations on Windows to installations on CentOS, if only to make the server fleet that much more homogenous.
So, to answer the question, to eliminate Windows server installations in a predominantly Linux environment, yes.
Yes. .NET based startup, everything else is already .net core (containers + kubernetes on GKE) so we only have Windows for MSSQL.
Looking at migrating to Postgres but MSSQL in containers sounds great so far. Features are good with both databases but built-in graph, columnstore, hekaton, better backups, etc in MSSQL are strong temptations.
No. It won't save us on licensing costs and it won't be more secure, so the only reason I can see that it exists is for cloud hosting, and my organization has no interest in that.
> If not, why not?
First most important question to answer: in what way MS SQL Server would be better than PostgreSQL? Fields to consider:
- Easier to install? (apt-get install postgresql-server)
- Easier to use? (initiating the Sybase client library used to be terrible) (EDIT: it was installing the client library, not initiating it)
- Easier to manage? (Postgres is excellent in this field)
- Has important functions or features that PostgreSQL doesn't?
- Works significantly faster than PostgreSQL?
Going out of one's way to use third party software needs to give some benefits to offset the cost of doing so.
Probably not. We use SQL Server for our product running on AWS and we tested it with the Linux edition and it works fine.
But what’s the advantage of moving it over to Linux. It’s anyway sitting on a dedicated box and Windows Server hosting charges are only marginally more expensive than Linux on AWS(depending on the AZ you use).
So it’s cool and works well but there’s no compelling reason for us to move to it yet. At least not one that I could see
Does it have analysis services and Integration services yet? Last time it I checked it didn't. It's a big differentiator against open source stacks. If it was available on Linux then perhaps some of our clients would consider moving to Linux based SQL server.
My organization is not, because our SQL Server DBAs with 20 years of experience are linux newbies.
No, I won't. We use SQL Server only in some legacy projects, but newer ones are using Postgres or Oracle, running Linux.
We know open-source RDBMS like Postgres, and the ones developed by Unix/Linux vendors like Oracle, are unlikely to drop Linux support anytime soon. But can we say the same about MSSQL? Today we got this CEO... but tomorrow?
It's a risk we're not willing to take, specially when there's no SQL Server feature that we cannot find elsewhere.
If SQL Server is what the clients/users required, sure. I'd much rather run it on a Linux server because that's what I'm familiar with.
"Would you?" Of course.
"Will you?" Of course not.
I actually have been running SQL Server for linux for the past few months.
In a docker container, no less.
This is entirely for testing a part of our application that needs to connect to legacy mssql servers. The server is spun up, databases are created programmatically, tests are run, and then the container is destroyed.
As for running this in production, ahahaha no.
Link to the announcement:
https://blogs.technet.microsoft.com/dataplatforminsider/2017...
Not really. We have a number of SQL Server databases where I am, for a number of reasons. Several are for Microsoft Dynamics. How does that work with Linux? One is for print-management system, which I suspect has hooks into Windows.
Probably Not for my use cases. If I really wanted sql server then I most likely will consider azure's hosted sql offerings.
One thing I'm not so clear with , however, is linux support for sql server clients. More specifically Django?
Why would I invite that headache when I can just install PostgreSQL instead?
https://www.pg-versus-ms.com/ says it all.
No, because PostgreSQL has much better documentation.
I am new to this and would appreciate an update on where to find a 'how to' for doing this. Thanks very much!
Related question. Where can i run and host a SQL db for free? Or for cheap. It's for a hobby project.
Nope
Nuts
I would not consider it today because today it's closed and expensive. I can't get support on stack overflow for example. In a few years I might consider it.
Depends if Microsoft would consider open sourcing it so it can catch up to everyone else.
If I put on my "CIO" hat, I would say "no".
An observation from several decades of the software business is the concept of the "reference platform". For MS SQL Server, the reference platform is Windows, not Linux.
This means that if development for the different operating systems gets out of sync, it will be the Linux version that lags instead of Windows.
If I have an urgent crisis with a database down and need to call MS tech support[1], their troubleshooting team will be way more familiar with Windows than Linux.
It's really a bad idea to deploy on a non-reference platform. For playing around and experiments, that's ok. However, for deployment on production environments, it's a risk.
The "reference platform" for MS Windows NT was x86, not MIPS or DEC. Therefore, we didn't deploy Windows apps to MIPS machines. (That was a good decision since MIPS, DEC, and Itanium versions of Windows got cancelled.) Solaris reference platform was their SPARC computers and not Intel x86. Yes, Solaris had a version ported to x86. That was ok to play with at home but we wouldn't deploy any commercial production apps with it.
Same for dev environments. If you're using C#, your life will be easier if you go with Windows instead of "C# NET Core" on Linux. If you're programming Ocaml, stick with Linux instead of trying to cobble together Cygwin+MinGW to deploy Ocaml apps on Windows.
Try to stay with the reference platforms to minimize headaches.
[1] https://www.microsoft.com/en-us/microsoftservices/support.as...