top | item 12967935

Microsoft announces the next version SQL Server for Windows and Linux

284 points| willyyr | 9 years ago |techcrunch.com

90 comments

order
[+] LyalinDotCom|9 years ago|reply
As someone who has been working with them on pushing this live for the last 6 months I can tell you, we're all very excited to finally push this public preview
[+] djsumdog|9 years ago|reply
I signed up early on as I have an old OSS project that supports MySQL/PostgreSQL and MSSQL. I had originally tried to set up a full CI environment using Vagrant, but automating the Windows/SQL part became so much of a pain I gave up on it.

I'm really thankful that they released Docker containers!! I was planning on moving the entire CI system to Docker anyway and this totally fits in, plus it's super easy to accept the EULA and run the evaluation container.

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-...

[+] chaz6|9 years ago|reply
The linux tools seem to rely on a custom version of unixODBC. There is a binary rpm on the microsoft repo, but no source rpm. This seems to be contrary to the unixODBC license.
[+] traskjd|9 years ago|reply
Congrats Dmitry. My team and I appreciate the work you and your teams have been doing :)
[+] unixhero|9 years ago|reply
Wow

Will the Linux build come with SSASS capabilities as well?

[+] cygned|9 years ago|reply
Microsoft has created an apt repository for Ubuntu. That's really nice.

https://docs.microsoft.com/en-gb/sql/linux/sql-server-linux-...

[+] bsharitt|9 years ago|reply
sudo apt install mssql-server felt really weird. Oddly a much nicer install process than the last time I installed MSSQL server on Windows(which was admittedly a log time ago, and it could be better now).
[+] teilo|9 years ago|reply
I have this running on Debian 8. Only needs openssl from jessie-backports, and it works flawlessly.
[+] m_st|9 years ago|reply
The bigger news and unfortunatly hidden behind an innocent blog title about SP1 for SQL Server 2016 is that now all the features of Enterprise Edition are available on all editions of SQL Server!

See my commit here: https://news.ycombinator.com/item?id=12969059

[+] dhd415|9 years ago|reply
They haven't made all of the Enterprise Edition features available on all lower editions, but they have made many big ones such as table partitioning, Always Encrypted, in-memory OLTP, etc. available in most lower editions. There are a number of operational features such as piecemeal restores, Resource Governor, online index rebuilds, etc. that are still exclusive to Enterprise Edition.

There's a more complete discussion of these here: https://sqlperformance.com/2016/11/sql-server-2016/big-deal-...

[+] emcrazyone|9 years ago|reply
I've not looked at MS-SQL in a long time. My business ships software using PostgreSQL.

Does anyone have, in their opinion, compelling reasons why one should consider MS-SQL on Linux for either a new project or potential migrating too?

Consider too, PostgreSQL runs under Windows as a service too.

What does MS-SQL have that PostgreSQL does not?

[+] samch|9 years ago|reply
There will undoubtably be a number of good responses here to your question, but I'd like to share my opinion. For me, the answer comes down to tooling. I make frequent use of Integration Services, Reporting Services, the Server Agent, Profiler, and other services I'm not remembering at the moment. In my mind, SQL Server represents an ecosystem of tools and services that are simply part of the package (no additional cost) and are fully supported and integrated as part of a comprehensive suite.
[+] dhd415|9 years ago|reply
I love pgsql and it has some features that SQL Server does not, but SQL Server also has a range of features that pgsql does not including index-organized tables, automatically-updated materialized views, much more mature support for query parallelization, etc. Lots of the discussion in this older thread is still relevant: https://news.ycombinator.com/item?id=9464505

Edit: fixed link.

[+] edpichler|9 years ago|reply
I think this product in targeted to companies who already have a MS-SQL database, and now can consider use Linux.
[+] bsg75|9 years ago|reply
If they ported query parallelism across CPU cores as base MSSQL on Windows has, that would be a significant differentiator for those in the DWH / analytics space.

Its also likely this is a attempt to keep customers on the MSSQL platform who otherwise don't have a need for a commercial OS, and may be willing to keep paying for MSSQL while cutting their OS expenses.

[+] jrspence|9 years ago|reply
This doesn't seem to be a bona fide port to Linux. The sqlservr binary seems to load some .sfp files in the lib directory of the installation, and those files seem to include a good chunk of a Windows installation. There's registry hives, batch commands, and what look like PE64 executables in there.
[+] rch|9 years ago|reply
> all SQL Server users — including those using free edition — will now get access to the developer features that were previously restricted to the Enterprise edition.

This aspect is interesting. What I haven't done since all of these open source and cross-platform moves by Microsoft is go back and figure out how tech costs scale with user growth (starting from 0). It used to be no contest (initially), but I'm not sure anymore.

[+] jamra|9 years ago|reply
I'm not sure what it means. Do you have no restrictions on developer tools only or do they remove the 10GB database size restriction for SQL Server Express, the free version.
[+] rb808|9 years ago|reply
I can still remember an old conference when Microsoft bragged that running windows-only allowed them to remove 20-30% of the Sybase code base as they didn't need the cross-platform cruft.

It would be interesting to see how they code for cross platform portability now.

[+] kbenson|9 years ago|reply
That was probably both true, and slightly misleading. I remember a talk on Drizzle (a MySQL fork looking to clean up and streamline the system after Oracle's buy) years ago where they touted similar numbers in code reduction by dropping support for all non POSIX or edge case OS's other than Linux, FreeBSD, and OS X (and that last one might have been added later). That is, they ripped out the HP-UX, AIX, Solaris and Windows specific code (and possibly more). Sybase looked to support a similarly diverse group of operating systems[1], so there were probably a lot of gains to be had even if they didn't remove all POSIX support.

1: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybas...

[+] tracker1|9 years ago|reply
IIRC, they have since adopted an OS/FS shim to be able to make porting like this generally easier... that said, there are certainly a lot of edge case features that need to be tested... I'd be surprised if there wasn't an effort to bring an electron based Management Studio for cross-platform usage. Which would be pretty damned cool...

The `tedious` package in node, makes it a drop dead simple db to use cross platform... Compared to say the beast that is Oracle, I haven't used db2 from node so can't compare there.

[+] gokhan|9 years ago|reply
Looks like there are some (most?) unsupported features external to core DB engine ATM (replication, mirroring, agent, SSIS etc. ), but documentation says "The support of these features will be increasingly enabled during the monthly updates cadence of the preview program". Nice.

https://docs.microsoft.com/en-gb/sql/linux/sql-server-linux-...

[+] wila|9 years ago|reply
This is great news and I am looking forward to be able to use MSSQL from within linux and macOS. Hopefully the client support is going to be cross platform too.

The one thing in the article that puzzled me is:

  Thanks to its support for Docker containers, even macOS users will be able to run it. 
  Indeed, Microsoft is betting on containers as one of the main distribution mechanisms for the preview
Wasn't there a golden rule to not store persistent data in a container? I can see it being useful for testing, but am wondering if this is going to be suggested for deployment as well.

Of course one can locate the database on external block storage, but that makes it less easy to support due to having multiple parts. (not that that is a very big issue)

[+] edpichler|9 years ago|reply
Microsoft should have his own Linux version, supported by the company. It will be inevitable.
[+] jlgaddis|9 years ago|reply
Instead of that, I can see them partnering up with Red Hat (and/or Canonical) to handle it. All of Microsoft's "<foo>-on-Linux" offering (i.e. SQL Server, .NET, etc.) will be officially supported on RHEL (and/or Ubuntu), just like many other enterprise-type products today are officially supported only on RHEL.
[+] TheRealDunkirk|9 years ago|reply
The only point of offering it would be to support running desktop applications on it, like Word and Excel, no? And that's such a stretch that all the versions of Wine still haven't solved the problem, even after 20 years.

At this point, if Apple really wanted to scrape another percentage of desktop users away from Microsoft, THEY could release an unsupported, white-box version of the BSD-based macOS for generic PC hardware, which would run all normal macOS binaries, like Word and Excel. It would go a long way to shoring up the gap in their lagging "pro" line...

[+] alyandon|9 years ago|reply
Is there a ELIF type link for licensing that explains what we are allowed to do with this on Linux? Can I use it for development work on a company owned workstation?
[+] greggyb|9 years ago|reply
I'd imagine you can just use a free (as in beer) developer license for SQL Server work on Linux, just as you can on Windows. SQL Server licensing is only really charged on production instances.
[+] jcoffland|9 years ago|reply
Microsoft has really adopted an if-you-can't-beat-em-join-em attitude these days. There were times when Microsoft and Linux were at such odds that an announcement like this seemed impossible.

The next smart move I'd love to see from Microsoft is similar to Apple's adoption of BSD as their base OS with the introduction of OSX, an adoption of Linux as the base Microsoft OS. They could stop wasting money on systems programming and focus on the UI and apps which is where they make their money anyway. Wine has come a long way with Microsoft's direct help it could support all of the existing Microsoft apps.

[+] laumars|9 years ago|reply
NT is decent. It's a lot of the stuff that runs atop of it which is garbage and WINE is nowhere near stable enough to be a viable replacement.
[+] korethr|9 years ago|reply
I doubt that will happen. There are innumerable man-hours of engineering sunk into Windows, and it has made them lots of money. Unless there were compelling proof that continuing to develop and support Windows was costing them money, and endangering other profitable revenue streams, Microsoft will likely keep Windows alive.
[+] rbanffy|9 years ago|reply
Apart from reducing OS bingo (no need to deploy Windows to run SQL Server alongside whatever non-Windows OS you use to run your apps on), what is the selling point?

I assume it runs on x86 processors. If I do everything wrong and end up needing a ridiculously powerful machine I can check IBM's POWER-based boxes or Oracle's SPARC machines that run MySQL or PostgreSQL (or Mongo or anything else) and scale vertically well beyond the largest Xeon boxes. But those won't run SQL Server. Being that the case, why not Windows?

[+] jpalomaki|9 years ago|reply
Windows licenses cost. Also if you are running your other stuff completely on Linux, having to setup Windows boxes just for the SQL Server can be bit inconvenient. I see this as a companion to the multiplatform .NET. Now you can run a Microsoft shop without running Windows.
[+] thx4thefish|9 years ago|reply
So how do I add a sql server instance in a container with an average of 300 million rows per table and a db of average size of maybe 3 tb and not have io issues? Containers do not seem to scale to enterprise besides nosql type operations of let's commit later.
[+] habaryu|9 years ago|reply
Thanks! As of yesterday I was looking to find a way to install it on Ubuntu. I finally chose to use TeamViewer on my home PC but my database didn't connect. I'll try this instead.
[+] mmargerum|9 years ago|reply
Hopefully Microsoft will also provide a proper multi platform node.js client as well as ODBC support.

I may aware of tedious, but it's missing a lot of features and I prefer officially supported code.

[+] netcraft|9 years ago|reply
no announcement of support for mssqlstudio on other platforms yet though right? still, this is excellent - I love my postgres but having mssql on linux is a great option.
[+] otto_ortega|9 years ago|reply
I like SQL Server a lot, I wish I could use it on production over Centos, but the price of the licenses... Oh boy... I can't afford that.