back to article SQL Server on Linux: Runs well in spite of internal quirks. Why?

Microsoft has released a public preview of SQL Server for Linux, and I took it for a spin. There are three supported platforms for SQL Server on Linux, these being Red Hat Enterprise 7.2, Ubuntu 16.04, and a Linux-based Docker engine. Installation on other versions of Linux may also work, although unsupported. The Docker image …

  1. Zippy's Sausage Factory
    Windows

    Interesting

    The fact that SQL now runs outside of Windows suggests to me that the Windows server market is dying and MS are trying to stay in the database game.

    I could be wrong, of course, but everything I've seen the last couple of years suggests to me that MS are preparing for a scenario where they don't make operating systems any more. (Maybe the MBAs have crunched the numbers and reckon that if everyone ran Linux they'd make more money?)

    1. phuzz Silver badge
      Gimp

      Re: Interesting

      Microsoft is too big to apply such kremlinology. It's possible that some of the database team are preparing for less Windows Servers in the future, but I doubt the Server division are. There's probably still whole departments of Microsoft still developing for Itanium. There's definitely departments that are very pro open-source, and others that think it's cancer.

    2. Steve Walker
      Linux

      Re: Interesting

      Actually I thought they were in love with SaaS? Maybe it's "eggs in several baskets" at the new friendly Microsoft we are seeing...

      TBH I will give this a go and see how it performs, have plenty of room on a shiny vsphere cluster so dropping in another "test" VM won't hurt :-)

      *hides*

    3. Anonymous Coward
      Anonymous Coward

      Re: Interesting

      "suggests to me that the Windows server market is dying and MS are trying to stay in the database game."

      It suggests wrongly to you then. Windows Server X86 / X64 market share is still growing. Products like Active Directory and Exchange / O365 are pretty much a standard in the enterprise.

      This is a cut down SQL Server version for development environments and limited use cases. If you want the full enterprise features like clustering, replication and full performance then you need to upgrade to Windows Server...

      1. kryptylomese

        Re: Interesting

        Please show the statistics to back up your wild claim?

        1. Anonymous Coward
          Anonymous Coward

          Re: Interesting

          Please show the statistics to back up your wild claim?

          What? Like Microsoft does? LOL :).

          It's always a good question, but it might help if you incorporate a bit of the message you're replying to :).

        2. kryptylomese

          Re: Interesting

          Please show the statistics to back up your wild claim?

          Was referring to:-

          "It suggests wrongly to you then. Windows Server X86 / X64 market share is still growing. Products like Active Directory and Exchange / O365 are pretty much a standard in the enterprise."

      2. Doctor Syntax Silver badge

        Re: Interesting

        "If you want the full enterprise features like clustering, replication and full performance then you need to upgrade to Windows Server."

        In that event my choice wouldn't be Microsoft for either OS or database engine.

        1. Anonymous Coward
          Anonymous Coward

          Re: Interesting

          "In that event my choice wouldn't be Microsoft for either OS or database engine"

          That's what most companies choose. Unless already tied to Oracle...

      3. Steve Knox

        Re: Interesting

        This is a cut down SQL Server version for development environments and limited use cases.

        No, it's not. This is full Enterprise SQL Server. At SQL Pass, they were even showcasing Availability Groups and clustering (using a Linux clustering engine), and talking about their work on Full-Text Search. The only reason these and other features aren't yet available in the preview is that they haven't gotten the SQLPAL and SQLOS layers for them stable enough to showcase.

        This is Microsoft's Data Group recognizing 3 things:

        1. A lot of Oracle runs on Linux and if they want to cut into that market further, they need to support the OS their potential customers are used to.

        2. A lot of development is moving towards containers, so they need a database engine which works well with those containers, including Linux ones.

        3. Only about half of developers develop on Windows; the other half are split between MacOS and Linux. If they want those developers writing for SQL Server, they need to make it accessible to them.

        1. Anonymous Coward
          Anonymous Coward

          Re: Interesting

          I'd add that my tooling here emits "code" for all the major RDBM's so the choice comes down to existing /greenfield architecture, client's tooling, budget, performance, yada, yada. Basically providing a solution rather than some holy writ. I got over evangelizing when the Amiga died.

    4. RIBrsiq
      Facepalm

      Re: Interesting

      I doubt Microsoft are planning to go out of the OS business any time soon...

      Look: if someone is not willing to run Windows, but wants to run SQL; why should Microsoft refuse to sell to them?

      I wouldn't be surprised if the main reason they didn't do this earlier were that the overhead due to the virtualization required was too much, until very recently.

    5. Mage Silver badge

      Re: Interesting

      It is, Win Server is massively lower percentage than 15 years ago. If you don't need Exchange, why would you run it?

      1. Anonymous Coward
        Anonymous Coward

        Re: Interesting

        Active Directory? Asp.net? WSUS? Sharepoint? SQL Server itself, till now? If you have Windows clients, even remote shares are easier to setup in a domain using Windows than trying to configure Samba properly.

        Windows servers are far more common inside a LAN than Internet facing, partly for security reasons, partly for costs ones.

      2. Lost In Clouds of Data
        Facepalm

        Re: Interesting

        If you don't need Exchange, why would you run it?

        A question asked invariably by Linux bigots who hate that the concept of choice goes beyond that of which Linux distribution to use.

        1. Anonymous Coward
          Anonymous Coward

          Re: Interesting

          If you don't need Exchange, why would you run it?

          A question asked invariably by Linux bigots who hate that the concept of choice goes beyond that of which Linux distribution to use.

          Not quite. I would even widen the context of that simple, but rather valid question:

          Kumar told me that the team set a performance goal of 75 per cent or better than on Windows, and that this target has already been met. This still begs the question: why deploy on SQL Server on Linux when it will run better on Windows? There are many other database managers native to Linux, including MySQL, PostgreSQL and more.

          Indeed - the key question is simply "why?". Why would you want to deploy a pay-for-every-breath-you-take database on a platform that comes accompanied by default with rather good databases at no extra cost, also taken into account that this code is beta?

          For a start, the performance gap between Windows and Linux is interesting because that already suggest some inefficiencies - if you bet the farm on Windows I reckon it is better if you stick with that for running your database. But what I'm interested in is what compelling reasons there are to somehow make it work on Linux - are there any noteworthy features that have somehow escaped the Linux crowd? Is it worth the effort and expense?

          I'm looking for a genuine delta rather than what their marketing states..

          1. Anonymous Coward
            Anonymous Coward

            Re: Interesting

            As for that key "why" question : I've got a couple of sql server express instances running, just for various third-party application that insist on it. Spinning one up is easy enough, but the OS cost is non-trivial.

            A hypothetical scenario :

            - a business has 4 hosts running vmware, all with datacenter editions of windows server

            - there's about 10 guests running at any given time for various 3rd party applications that need/want sql server express and an iis application front end

            - with this sql express on linux, said business could keep 2 hosts just for windows guests (thus halving datacenter license cost) running the applications, and 2 for linux guests running the (free) sql express editions

            As said, it's hypothetical. But I do think that it's a possibility.

            1. Dr. Mouse

              Re: Interesting

              There is a simple answer to the question of "Why?": Money.

              Before this, if you chose to use a Linux server (e.g. for web), Microsoft made no money from you. Now they can sell you a license for SQL Server. Even if it does miss out on many features, there are those who will still buy it.

            2. John Sanders
              Holmes

              Re: Interesting

              The big problem I see with your vision (which I thought about too) is that these third party apps often require a windows client, or come with small tools that only run on windows.

              Also if I deploy any app on this database and I go back to the vendor because I have a problem I guarantee you they will wash their hands saying they only support running the DB on windows.

          2. Lost In Clouds of Data

            Re: Interesting

            Indeed - the key question is simply "why?". Why would you want to deploy a pay-for-every-breath-you-take database on a platform that comes accompanied by default with rather good databases at no extra cost, also taken into account that this code is beta?

            Personal choice, comfort, familiarity, Need, Requirements, TCO, Support... Numerous reasons. Same way folk pay for Enterrise Oracle on Linux.

            I'm currently a Windows user, however I cut my DB teeth on Unix and Informix was back in the 90s.

            I believe in choice.

            Why do folk feel the need to constantly admonish Indows users? Is it a psychological pathologic desire to make thems lives feel better about themselves?

            If you wanna go all FOSS then go right ahead, however quite bitching that there are still folk who choose Windows and/or Enterprise Commercial RDBMSs for any number of reasons not immediately apparent reason to you.

            Choice is a freedom. Let everyone have that right without being belittled.

            1. Anonymous Coward
              Anonymous Coward

              Re: Interesting

              Personal choice, comfort, familiarity, Need, Requirements, TCO, Support... Numerous reasons. Same way folk pay for Enterrise Oracle on Linux.

              I'm currently a Windows user, however I cut my DB teeth on Unix and Informix was back in the 90s.

              I believe in choice.

              Why do folk feel the need to constantly admonish Indows users? Is it a psychological pathologic desire to make thems lives feel better about themselves?

              No admonishment - it was a genuine question. Not everyone has a choice, and not everyone who has a choice has parameters that make FOSS the only answer - many seem to forget that running a platform takes experience and expertise and switching to Unix without knowing what you're doing is IMHO more dangerous than sticking with Windows.

              The first half year with Unix are generally no picknick because you're as close to the raw mechanics as you can ever get, and you haven't earned your admin credentials until you've accidentally wiped a machine as root by incorrect use of "rm". With great power comes a lot of caution :).

          3. JLV

            Re: Interesting

            Well, for one thing solely for portability purposes. You can do ANSI SQL only, but it's easy to mistakenly fall off the wagon and let portability issues creep in. And that's without even thinking about stored procedures/triggers.

            So, if you have an existing mssql app and you want to move it to the cloud/Linux, this isn't a bad idea. A 25% performance hit isn't that bad, if it really never gets much worse. I'd be cautious about being an early adopter here, but if they really do deliver, why not?

            Plus, as far a pay-as-you-go databases go, sql server isn't that bad. It's not that great, but it works. And cheaper than Oracle. Different organizations have different needs for support and may feel they want a vendor backing their db. In practice, the db vendor rarely does anything in my experience - the cases where a mature rdbms has a bug that the vendor doesn't re-baptize as a feature or doesn't just "commit" to fixing, maybe, next release aren't that common. Security, maybe. Part of it is laziness, part of it is also stability - you can't play at devops with query optimizers on customer critical apps. Still, you now have vendor support.

            There also aren't that many big rdbms players that an extra entry in Linux land isn't welcome- db2, oracle, postgresql. Not counting mysql, but that's my own prejudice against it - it probably covers simple CRUD fine, but I've seen it fail at complex queries that sql server could easily handle.

            MS isn't my favorite company, and I hate what they've done to Win 8/10, but not everything they do is crap.

            1. Anonymous Coward
              Anonymous Coward

              Re: Interesting

              @JVL - that's the kind of answer I was looking for.

              I don't care much for OS/platform religion - I use what works, but to determine what fits a particular situation best you need to know as many of the variables (and static values) as you can get your hands on because you can't just tell a customer they should drop everything and change to your personal pet environment. It would be nice, of course, but I'd call that expectation a tad unrealistic :).

              To take *informed* decisions you need the first part of that word, "info" - that's why we discuss and debate these things. Thanks for your answer.

          4. John Sanders
            Holmes

            Re: Interesting

            These are the exact same points all sane people are asking.

            Why? Anyone who needs MSSQL is going to run it on Windows, there is no advantage to run it on Linux, unless this is they release it for free so Linux shops can use it for testing, but even then... no company would have a problem buying a license of both windows and MSSQL if there is a business case.

            One can argue that it may run better on Linux, but I seriously doubt this is the case.

            This like porting powershell, does not solve any problem on the Linux side.

            I just do not understand the rationale for this, and when that happens with MS I normally remember the late admiral Ackbar: "It's a trap!"

        2. Doctor Syntax Silver badge

          Re: Interesting

          " If you don't need Exchange, why would you run it?

          A question asked invariably by Linux bigots who hate that the concept of choice goes beyond that of which Linux distribution to use."

          OK, reword that to what's implied: "Why would you choose to run it?".

        3. bombastic bob Silver badge
          Thumb Down

          Re: Interesting

          "A question asked invariably by Linux bigots who hate that the concept of choice goes beyond that of which Linux distribution to use."

          'Linux bigots'? SERIOUSLY???

        4. TiddlyPom

          Re: Interesting

          I have worked within the Open Source and Linux domain for years and have yet to come across anybody in that field who would want to deny anybody a choice of platform. Open Source software is all about choice. In my case, I do prefer Linux but hey if somebody wants to use Windows or OS/X (or another platform) then that is their choice and good for them. What is a bad thing (IMHO) is any sort of lock-in that ties people to a particular platform. That applies to Linux as much as any other. I applaud Microsoft for porting SQL Server to Linux (giving system administrators another choice for deployment). It is a crying shame that Microsoft have not ported Microsoft Office and Visual Studio (full version) to Linux as well (using the cross-platform ability of .NET) just as LibreOffice, MariaDB, PostgreSQL, and Eclipse and NetBeans run on Windows and OS/X just as well as they run on Linux. That is the joy of cross-platform software - it gives you choice. That was how Microsoft used to be - "Hey guys - look at this amazing new version of Word we have brought out!" rather than a lock-in strategy. Microsoft will secure their future by being good community member rather than trying to browbeat competitors into submission.

          1. Jon Massey

            Re: Interesting

            " ported Microsoft Office and Visual Studio (full version) to Linux as well (using the cross-platform ability of .NET)"

            There are significant portions of native code in Office and VS

        5. John Sanders
          Holmes

          Re: Interesting

          @Lost in Clouds of Data

          Bigot: a person who is intolerant towards those holding different opinions.

          >> If you don't need Exchange, why would you run it?

          Tell me "Lost in Clouds of Data" Why is Mage a bigot?

          In my opinion the question is valid, no one has questioned neither "choice" nor the right of Microsoft to create and sell such product.

          I personally think that MS can not be trusted to support such complex product properly long term based on their previous history of "Linux support"

          Do you realise that if you want to operate in Linux space you're required to cope with the Kernel/Library ecosystem breakneck pace or be made obsolete in 1-2 years?

          So enlighten me, why is Mage or any Linux user a bigot for asking a legitimate question?

          For us serious Linux sysadmins who work with Linux on the datacentre alongside a hefty amount of Windows Kit, this is the equivalent of selling Samba for Windows... What problem does MS SQL solve on Linux?

      3. Daniel von Asmuth
        Windows

        Exchange?

        MS Exchange sounds like a good reason to switch to whatever you can run Sendmail on.

        1. Trixr

          Re: Exchange?

          Bollocks. Sendmail isn't even the best MTA. I'd rather Postfix as my gateway x1000.

          Exchange is frankly unrivalled in the enterprise for scheduling, shared mailboxes, general mailbox management, HA, etc etc etc. Set it and forget it.

        2. bombastic bob Silver badge
          Linux

          Re: Exchange?

          sendmail + cyrus works for me. old, tried, reliable, isn't a constantly moving target, and works just fine with T-bird as a mail client. if you need MORE than that, maybe evolution...

          I've never figured out why *ANYONE* would *WANT* Exchange, considering how many viruses I've seen passed by it (in the past, homonym-pun deliberate) along with bloatiness and occasional _INCOMPATIBILITY_ with normal IMAP clients (like T-bird).

          A 'used to' company I did work for on site had Exchange on a W2k3 server for corporate mail. Yukk. I did all of my work in either FreeBSD or Linux, and refused to use Virus Outbreak [aka MS Outlook] as a mail client. I also wanted to clone my IMAP directories on the Linux and BSD boxen. 'Tedious' was an understatement, until people stopped sending me exchange links [knowing I'd never see the files anyway]. Dual-booting was NOT an option. It required having multiple physical computers, the ones I did work on, and "that windows box" that had the e-mail (and other nonsense) on it.

          I forget all of the problems it created for me. Most of them were solved by using ONLY POP MAIL and not receiving any 'exchange links' or calendar nonsense or anything ELSE that required their hideous API to make use of.

          anyway, if you don't need a license for a windows server, you'll save money. If some legacy "thing" was written using something SQL-server-proprietary [like stored procedures], which I've blatantly opposed every time I was in the loop on the decision, then you could still save money by running SQL Server on the Linux server, which could (for free) run your DNS, web services, repository, e-mail, document tracker, SAN, etc. and, oh by the way, the database, too.

          And the really FUN thing about Linux: if you do a backup using a tarball, restoration onto a DIFFERENT HARD DRIVE is pretty much straightforward. Try that with a windows serer and a non-identical hard drive [so ghost backups aren't a possibility, let's say]. There are just SO many things that are GREATLY simplified when *NOT* using micro-shaft operating systems as the host.

        3. Bitbeisser

          Re: Exchange?

          Looks like you never used Exchange. If there is one tool that you can't easily replace with Linux application, it is Exchange/Outlook. It s**ks as an email server, but the collaboration and integration of email with contacts and calendar has yet to be accomplished by a FOSS tool. And no, Zimbra just doesn't cut it (yet?) and costs almost the same...

          1. Anonymous Coward
            Anonymous Coward

            Re: Exchange?

            Zimbra just doesn't cut it (yet?) and costs almost the same...

            There are actually quite a few out there. I've used Zimbra, but also OpenExchange: never quite worked out what was so "open" about it other that that it ran on Linux, wanted a whole box for itself and (in those days) needed a special Outlook plugin to work, and I've tested Kolab: the idea of using IMAP for storage means that post-install the customer ends up with truckloads of weird folders in their email client, and we all know what happens when we give users access to anything other than what they strictly need: it gives them the opportunity to whinge, fiddle with it and generally get on your nerves :).

            So it's possible, but it's not quite as smooth as Exchange (that said, those who claim it's HA capable omit that that requires a Godawful amount of resources compared to a Linux platform where you can almost run it of two cast-off office PCs and it'll still work). This is the generic lock that MS has on the desktop: Outlook, and by extension Exchange.

            Even Apple hasn't got a decent answer to it, and prefers to divvy up the tasks that Outlook integrates over several apps which is nowhere near as convenient for Joe OfficeUser. Outlook remains the key thing that slows down the flooding of the Microsoft Titanic IMHO.

          2. bombastic bob Silver badge
            Devil

            Re: Exchange?

            "It s**ks as an email server, but the collaboration and integration"

            sucks as an e-mail server, yeah. collaboration and integration requires their proprietary APIs to make it work, and that means outlook, and that means *SERIOUS* security problems.

            Typical scenario: low-level accountant is e-mailed [spear phished?] a spreadsheet containing a virus of some kind, and it's previewed in 'Virus Outbreak' (aka MS Outlook), and before being deleted, infects the accountant's computer and begins spreading via Exchange...

            AFTERTHOUGHT: Maybe the reason why no FOSS applications have this is because of INHERENT INSECURITY? Or maybe the 'niche' filled by Micro-shaft's solution is just something FOSS-makers don't really consider *important* enough to write software for...

            ok that last part would be a bit of a marketing fail, as in "failing to see the need" and therefore "failing to fill the void in the market". I personally do *NOT* see the need to have this level of integration. I don't use it, I don't want it, I don't need it. T-bird has a calendar that works for me. Contacts can be maintained in various ways, INCLUDING Google's solution [from what I've seen].

            BUT... if someone can JUST explain to me what this "need" is, I bet I could write [read: lead a team of developers doing the actual work] a really good FOSS solution for it, that would beat the pants off of Exchange and Virus Outbreak, run on non-windows platforms, and NOT have serious security problems. It would be worth a kickstarter program, or at least a ".org" web site with a paypal 'donate' button, to get paid developers working on it full-time and put to rest this HIDEOUS "solution" that Micro-shaft excreted nearly 2 decades ago...

            and the FOSS solution would be written in C or C++, and *NOT* C-pound, and wouldn't use ".Not". It might even fork T-bird or Evolution on the front-end, and fork back-end systems like Cyrus and sendmail, just to have a nice starting point. It could have perl and/or python support for easy customization, too, and maybe even [gasp] a Java-based (or python-based) UI to configure it. You know, something people would REALLY want, something consultants could wrap their skill sets around, and something that would meet unexpected needs for DECADES without the security nightmare and proprietary nature of Exchange and Outbreak.

            [but as for WHY people NEED "those features", I admit, I totally do NOT 'get it']

            1. Anonymous Coward
              Anonymous Coward

              Re: Exchange?

              but as for WHY people NEED "those features", I admit, I totally do NOT 'get it'

              I do, but maybe I have had wider exposure to varying needs than you seem to have. People tend to set up a system to their needs, and for most people in business, communication and planning is a large part of their day and Outlook supports that by not only having a single interface for it, but even integrating the connections between the worlds you see as separate. Scheduling calls means calendar, contacts and possible email being hit as one integrated operation - just an example.

              The FOSS world cooked up an answer that I eagerly looked at, Kontakt, but frankly, it sucked, and not just the code and performance. To be brutally honest, I would love FOSS activists to actually start paying attention to the end user because so far, the tech-only focus sucks for getting decent UIs out, something that Apple made an absolute meal out of with its iPhone which did functionally nothing new, but made it FAR easier to use a smartphone.

              I would love to contribute to a team working on an Outlook replacement that is fully Open Standards based but that works on Linux, OSX and Windows because it's the single most tight lock-in Microsoft has. However, (and it's a big one) that requires not just a focus, but an absolute dedication to the person on the receiving end of the UI. So far, that has been lacking in IT, in security and in FOSS. Basically, you don't code for your mates, you're coding for your granny - once you start dealing with the implications of that instead of dismissing it with excuses like "they're dumb" and "we just train them" you may eventually even end up with a desktop that DOES draw people in. The guy behind Enlightenment was onto something - very, very early on.

              I'm a fan of FOSS, and I cut my teeth on Linux when it was still a large stack of Slackware floppies. I also have plenty of friends who live the FOSS dream, but they're sometimes too eager to go into preacher mode which makes them useless in a business meeting where that data is not relevant. It's not a religion, it's a choice and you don't control all the variables that influence it. Relax, just sit back and see what people (remember? PEOPLE) say and what they like, THEN go to work.

              Personally, I see FOSS as the key driver to innovation but it needs a change in thinking if it wants to touch the desktop instead of only the server.

            2. TheVogon

              Re: Exchange?

              "a spreadsheet containing a virus of some kind, and it's previewed in 'Virus Outbreak' (aka MS Outlook), "

              Outlook hasn't run active content in preview for at least a decade now....Your knowledge is way outdated.

        4. Anonymous Coward
          Anonymous Coward

          Re: Exchange?

          MS Exchange sounds like a good reason to switch to whatever you can run Sendmail on.

          Out of the fire, into the frying pan. No thanks. Postfix, Exim, yes, but sendmail (and especially sendmail.cf) still gives me occasional nightmares :).

          That said, I've witnessed some truly idiotic Exchange setups, and I mean idiotic to the point of making me worried about the sanity of whoever architected it ("worried" as in "I may want to avoid this person as it may be contagious" worried :) ).

        5. John Sanders
          WTF?

          Re: Exchange?

          Sendmail? in 2016? not funny even as trolling.

          http://shop.oreilly.com/product/9781593270018.do

    6. analyzer

      Re: Interesting

      This is probably more to do with 1/3 of instances running on Azure being Linux based instances.

      Also sounds like a lot of cross platform stuff from Microsoft, "Runs the same as on Windows"

      if you squint hard enough

      1. bombastic bob Silver badge
        Thumb Up

        Re: Interesting

        "This is probably more to do with 1/3 of instances running on Azure being Linux based instances."

        I was going to mention something _LIKE_ this but you beat me to it. Glad I read the responses first.

        (this little factoid has been discussed in El Reg articles concerning SQL Server on Linux, as I recall)

    7. ben_a_adams

      Re: Interesting

      > The fact that SQL now runs outside of Windows suggests to me that the Windows server market is dying and MS are trying to stay in the database game.

      Or they are improving their onboarding story; much like offering some of the advanced features of SQLServer even in the free Express edition. Its a win for people that use it, but it also allows much greater exposure to the tech which is a win for MS.

    8. Lee D Silver badge

      Re: Interesting

      I think it's more likely that they are reducing virtualisation costs.

      Nobody can afford Datacentre, so you're paying for every VM, in effect, which means that converting your stuff to cloudy virtualised things means yet-more-Windows-licences.

      Given that they want you to pay for Server, Server CAL's, SQL, SQL CAL's, this is a way to make the obvious "virtualise everything" progress cheaper for businesses. Just SQL and SQL CAL's to buy, in effect.

      Windows is basically being given away.

      Office isn't far behind (£5.99 a month for personal users, far from the £200-300 each year that it used to cost)

      But they can do that because everything's ending up on the cloud for most users, and IT departments are doing that by virtualising what they already have, or buying in SaaS. Both of which benefit from not having to pay for a Windows licences for a virtual machine for every database server you want to run. And, let's face it, if the choice is more Server licenses and SQL on top, you're more likely to swallow the one-off transition costs for something major like a cloud-move and go elsewhere.

      Offering SQL on Linux takes the sting out of that while still netting annual renewals.

      (P.S. Running five instances of Datacenter in a school - we pay a pittance in comparison to full retail prices for the same. And on each of those we can run the entire school, in a pinch, by moving the VM's around. But we only have a single SQL server VM because of the extra cost).

      1. Anonymous Coward
        Anonymous Coward

        Re: Interesting

        > Windows is basically being given away.

        >

        > Office isn't far behind (£5.99 a month for personal users, far from the £200-300 each year that it used to cost)

        I don't think the new-style pricing is a "giveaway".

        I bought Office for Mac in 2011, and paid £158.29 for a full "home and business" licence permitting commercial use. It still receives updates.

        If I had been paying £7 per month (the current price of Office 365 Business on a 12-month contract) for the last 5 years, I would have paid nearly three times as much, and would still be paying.

        Microsoft aren't stupid. They know that people are happy to pay recurrent "small" costs, even if in the long term they pay several times more.

        (And yes I know, Office 365 also includes cloud features like One Drive; but you are forced to buy a bundle, even if you don't want those other features).

        It's the phone contract model, and it makes the phone companies very rich.

        1. Dan Wilkie

          Re: Interesting

          I'm not sure on the Mac office model as I know it's different...

          But if you'd bought the above on PC, compared to O365 then to get from Office 2010 to Office 2016 you'd have had to have bought another license for Office 2013, and another one for Office 2016.

          So if you like running the latest versions (I'll be honest, I tend to find a lot of the quality of life improvements in the newer versions worthwhile) then it might make sense.

          Equally you get exchange etc etc with it as well.

          Disclaimer: I have an O365 subscription. I like it. I particularly like being able to edit all my documents and collaborate on them from my Galaxy and my iPad. Oh and OneNote, I like that too. That said, I have no strong pro/anti MS feelings - I like some of their stuff, I dislike others, and I have 1 Linux PC to my 2 Windows PC's (a gaming rig and an old Lenovo X230). I don't have a Mac, but I don't mind them, they're just more money than I want to spend.

          Someone said earlier about statistics - so the above will hopefully deflect some of the flames that will inevitably come in my direction for refusing to acknowledge Bill Gates as Warmaster Horus.

  2. FuzzyWuzzys

    A big SS shop where I am and I gave it a spin on Ubuntu VM, it worked well. Restored one of our 500GB prod DBs to it and it dutifully restored OK. Some of the most useful stuff is still missing like SQL Agent, Linked Servers and obviously Active Directory security linkage but looking in the blogs it's all in hand and the once monthly update releases until GA should be worth pulling down and playing with to see how it progresses. I was impressed easy it was to install, yes there some quite strict pre-reqs but if you simply install a bog standard version of Ubuntu Server 16.04 all the bits you need are in the box and any dependencies needed are pulled where APT fetches the main install off the MS repo. It'll be interesting to see how many of the core features make it in for the GA release next year.

    1. Philip Storry

      Repositories? apt and yum integration? Really?!?!

      any dependencies needed are pulled where APT fetches the main install off the MS repo

      MS are hosting their own repository for updates of this? As in, actual .deb/.rpm packages that are fetched and installed with "apt update" or "yum update"?

      Because that's one thing a lot of big companies often manage to "overlook" when porting software to Linux. It's very disappointing.

      But if Microsoft are giving us repositories, and adding them to the system config so that the updates of SQL Server are managed just like any other component, then I have to say I'm bloody impressed.

      That's how it should be. I'd assumed that this was just some hacky "it runs, it's done, ship it and hope" kind of affair, but actual repository integration shows a level of effort and attention to detail that's warming the heart of this cynical old git.

      Well done, Microsoft. Well done.

      1. a_yank_lurker

        Re: Repositories? apt and yum integration? Really?!?!

        As a Linux user, if it is not in the distro's repository system I will not install it. Note the Arch repositories including AUR do have commercial packages if the user wants them.

        1. tom dial Silver badge

          Re: Repositories? apt and yum integration? Really?!?!

          I do not understand, or think justified, the downvotes to this sensible post. I have made a very small number of exceptions on systems I have for personal use, and doubtless would make more if I were being paid to support customers.

          However, I have a relative for whom I field occasional technical support questions related to his installing X on Ubuntu. Invariably X is a binary download, often from what I consider a somewhat dodgy source, and often chosen as an alternative for something available from Ubuntu repositories that appears fit for purpose. He choose non-distribution alternatives that promise features the repository one does not, but they do not always deliver on the promise. Quite often, though, they do deliver large amounts of wasted time and aggravation before they are fully operational; and a few of them never got to that point.

          Some providers are open to suggestion and will make changes to improve the installation and operation of their product. Foxit Software, which offers a PDF reader, is one example. That Microsoft apparently provides a repository and appropriate dependency resolution suggests they are serious about this and want it to work well. And that is a good thing.

          1. Doctor Syntax Silver badge

            Re: Repositories? apt and yum integration? Really?!?!

            "I do not understand, or think justified, the downvotes to this sensible post."

            There are projects - QGIS comes to mind as an example - who maintain their own repositories. I can see no reason why such repositories should not be trusted as much as the distro's. There are also very well respected projects such as LibreOffice which, whilst not providing their own repositories (I do, however, wish they would) provide new versions in the distro-specific format. Not all non-distro sources are dodgy.

            Apt is specifically designed to allow extension to other repositories. Why not use it as its designers intended?

            The post took a rigid approach which a number of commentards clearly felt to be unreasonably so, hence the downvotes.

      2. FuzzyWuzzys

        Re: Repositories? apt and yum integration? Really?!?!

        Yep, MS have RPM and APT repos. If you don't want to dick about with adding a repo from the "Evil Empire" then you can simply download the RPM or DEB files off MS's website and install directly, fixing the dependencies yourself as you go.

    2. Anonymous Coward
      Anonymous Coward

      "Some of the most useful stuff is still missing like SQL Agent"

      That may not be a factor for some, but the lack of SQL Agent alone would keep me on the Windows version. Of course, your YMMV.

    3. bombastic bob Silver badge
      Devil

      "A big SS shop where I am and I gave it a spin on Ubuntu VM"

      I would be interested in seeing how the performance compares. But to be fair, you should test the Ubu VM with a Linux host, and compare against a windows VM on a windows host. And vice versa. Then publish all 4 results. It could be VERY interesting.

  3. Mage Silver badge

    stored procedures are not enabled,

    Can they be enabled?

    It's pretty useless without them.

    Been using them on SQL since 6.5

    Only interested in migration of Express anyway. Stopped buying MS SQL in 2004.

    1. Cheesenough

      Re: stored procedures are not enabled,

      T-SQL stored procedures are enabled, its the CLR stored procedures that are not. They only arrived in SQL Server 2005.

      1. bombastic bob Silver badge

        Re: stored procedures are not enabled,

        " its the CLR stored procedures that are not. They only arrived in SQL Server 2005."

        ugh. ".Not" schtuff doesn't work under Linux. yeah, more reasons *NOT* to use ".Not".

        having the rest of stored procedures working would be a benefit for people with legacy database stuff, to port to SQL Server on a Linux hosting server [yeah I guess I already mentioned this, but mentioning again, here, anyway]

    2. UKHobo

      Re: stored procedures are not enabled,

      not sure what you're reading but the article I read says CLR (.NET Runtime) stored procedures are not enabled. No mention of stored procedures generally not being enabled

    3. smot

      Re: stored procedures are not enabled,

      It's a SQL database. Use it for its intended purpose - SQL. Stored procedures are not - they're the spawn of the devil.

      1. Anonymous Coward
        Anonymous Coward

        Stored procedures are not - they're the spawn of the devil.

        And that is why I go to confession on Sunday.

        They definitely serve a purpose for me.

  4. Daggerchild Silver badge

    Whining, Wining and winning

    I wonder how the different kernel behaviours affect things these days. There used to be stark differences.

    In times past I actually preferred running some things under Wine on Linux, because the Linux virtual memory and swap handling performance was so much better, even through the Wine layer duct tape. You could slaughter and restart a gibbering program in a fraction of the time, and explosions couldn't bring down the system.

    Worst came to the worst and you lost input focus, you could login from another machine and shoot it cleanly in the back of the head. No reboot ever needed.

    Does the SQL Server require root privs to run? :-)

  5. CAPS LOCK

    I just dumped my last Microsoft Unix database product...

    ... Microsoft FoxPro Unix. (No really, that was a thing back in the twentieth century). Long live Harbour. (Google it, you might be surprised)

  6. DrXym

    I have to wonder WHY

    If someone is so wedded to Microsoft technology, why would they risk that Microsoft does its usual of producing a half-baked port of one of their products to another OS and then canning it a few years on. Besides which, Microsoft could easily tilt the licensing terms so any money they lose from not running the server on their own OS is recouped some other way.

    And if someone is NOT wedded to Microsoft technology, this certainly seems a very bad reason to start now.

    1. Lost In Clouds of Data

      Re: I have to wonder WHY

      Possibly because there's still a shit tonne of applications out there that run on top of Sql Server perhaps?

      1. DrXym

        Re: I have to wonder WHY

        "Possibly because there's still a shit tonne of applications out there that run on top of Sql Server perhaps?"

        Yes and they can use MS SQL Server for Windows. It's a tier-1 supported product. What is the incentive to move to SQL Server running on Linux? Microsoft has been down the port road a lot of times, producing a version of one of their products on another platform and killing it. Why would anyone want the risk of it happening again?

        1. Bronek Kozicki

          Re: I have to wonder WHY

          Some shops do not like to have Windows in the datacenter, and yet they are users of ... Oracle. I recon Microsoft is after those. It is a very reasonable strategy of putting your goods in many baskets.

    2. mmeier

      Re: I have to wonder WHY

      80 percent of the customers using Windows and SQl-Server

      20 percent using Linux and whatever database there is (If they pay for it - likely ORACLE)

      If you can get the 20 percent over to SQL-Server - you reduce your support costs. And Oracle on Linux is not "for free" nor "cheap" so you may be able to argue for it.

  7. naive

    Installing on CentOs 7 / RedHat 7

    Thank you for the nice article.

    In case one uses a proxy, it is required to define the https_proxy=<proxy>:<port> variable

    export https_proxy=<server>:<port>

    Otherwise the downloads of the Microsoft repositories fail.

    On CentOs 7, it takes 762GB in /opt filesystem.

    Enter PATH=$PATH:/opt/mssql/bin in /etc/profile

    After the steps, it works.

    It is possible to connect to the database with SQL Management studio, require port 1433 to Linux.

    Default database location is: C:\var\opt\mssql\data\master.mdf

    It is recommended to allocate enough space in /opt and in /var/opt prior to installation and database initialization.

    [root@web002 bin]# ps -el | grep sql

    4 S 987 2920 1 0 80 0 - 21870 wait ? 00:00:00 sqlservr

    1 S 987 2933 2920 1 80 0 - 722808 hrtime ? 00:00:31 sqlservr

    4 S 987 3311 1 0 80 0 - 21169 hrtime ? 00:00:00 sqlservr-teleme

    [root@web002 bin]# netstat -an | grep 1433

    tcp 0 0 0.0.0.0:1433 0.0.0.0:* LISTEN

    tcp 0 0 192.168.240.127:29008 192.168.240.127:1433 TIME_WAIT

    tcp 0 0 127.0.0.1:1433 127.0.0.1:10419 ESTABLISHED

    tcp 0 0 127.0.0.1:10419 127.0.0.1:1433 ESTABLISHED

    1. Down not across

      Re: Installing on CentOs 7 / RedHat 7

      On CentOs 7, it takes 762GB in /opt filesystem.

      I hope that is a typo or Microsoft has overtaken Oracle in the bloatware department.

      Thanks for the tips on quirks required.

      1. Richard Lloyd

        Re: Installing on CentOs 7 / RedHat 7

        I stuck it on my work CentOS 7 desktop after removing unixODBC (this conflicts with unixODBC-utf16 in MS'es repo when installing the tools - whoops!) - here's the figure for the DB install:

        # du -s /opt/mssql

        671136 /opt/mssql

        That figure is in K, so it's actually 655 MB, which seems more in the right ballpark. The MS tools install into /opt/mssql-tools and are only 860K in total.

        Note that this beta has an 180-day evaluation period, which is something I didn't see mentioned on the MS site or indeed in *any* IT articles on its release (including this El Reg article!).

        CPU usage when doing "nothing" (just installed, no DBs, service running) isn't close to zero - it's used around 5 hours of CPU in 4 days being "idle" - about 5% of a core on average. The sqlservr-telemetry process is a persistent blighter - "systemctl stop mssql-server" didn't kill it and a "kill -9" caused it to respawn! I eventually got bored and uninstalled the mssql RPMs (yep, process still running after that!) and then I could finally kill -9 it...

        Oh, and the critical download link that was crazily left out of this article is:

        https://www.microsoft.com/en-us/sql-server/sql-server-vnext-including-Linux

    2. bombastic bob Silver badge
      Devil

      Re: Installing on CentOs 7 / RedHat 7

      "It is recommended to allocate enough space in /opt and in /var/opt prior to installation and database initialization."

      What, can't you install it to something *OTHER* than '/opt' depending on the correct hierarchy of the Linux distro you're on? Usually 3rd party stuff (that I use) ends up in '/usr/local' and not '/opt'

      'man hier'

      then again, I mostly use FreeBSD, and on FreeBSD, '/usr/local' is where just about ALL non-core packages end up being installed.

      But then again, a well-written installer SHOULD allow you to at LEAST specify the prefix for the installation path, and follow the rules from that point...

      [then again, micro-shaft doesn't even follow their OWN rules, having installed ACTUAL DATABASES into the 'Program Files' tree for SQL Server]

      1. Doctor Syntax Silver badge

        Re: Installing on CentOs 7 / RedHat 7

        'man hier'

        That gives /opt as being for statically linked files. I've also seen in used for packages that include their own -/lib, -/etc & so on. Essentially stuff which isn't too dependent on the version of system libraries in use. In other words if you were to reinstall the OS you'd leave /opt unformatted in the same way as you'd leave /home unformatted and hope to see those packages still working. The stuff that goes into /usr/local you'd expect to reinstall or recompile. As per the other discussion, however, stuff seems to happen that doesn't follow the rationale.

  8. Anonymous Coward
    Anonymous Coward

    I think we are seeing

    a blurring of OS and application anyway. Virtualisation and ludicrous hardware specs mean you can mix'n'match by matrix, rather than be constrained to the classic Wintel/LAMP stacks.

  9. asphytxtc

    Actually very useful

    Being a 99.5% Linux shop here I very much doubt we'd be migrating any systems to SQL server in the future however this does help with the constant problem of having to find some free space on a windows machine somewhere in the office to temporarily host a database we're importing. The usual sort of stuff, being able to spin it up on one of the many Linux machines we have helps out a LOT.

    More options is always good so, despite my long running distrust for anything Microsoft (hey, some things take a while to die!) I for one am very appreciative for their work here.

  10. Uberseehandel

    Sybase ASE

    People have been running Sybase ASE (where MS SQL Server came from) on Linux (RHEL and CentOS in my experience) for over a decade. I recall running ASE on various flavours of Unix for getting on for 30 years. I wonder if MS had to do a deal with SAP, the company which bought Sybase a few years ago?

    1. FuzzyWuzzys

      Re: Sybase ASE

      SQL Server and Sybase diverged many, many moons ago now, 22 years is it now? MS, as is their bent, stripped out the core stuff they needed from the Sybase model and went off on their tack and I can imagine the contracts between Sybase and MS are tighter than a duck's wotnot to ensure neither party can bitch-slap the other if they tread on each other's toes.

    2. Uberseehandel

      Re: Sybase ASE

      As I look at my innocuous and entirely factual original post, I see that I have acquired 3 "thumbs down".

      What is objectionable, apart from the fact that I might just know what I am writing about?

      1. bombastic bob Silver badge
        Trollface

        Re: Sybase ASE

        "What is objectionable, apart from the fact that I might just know what I am writing about?"

        probably nothing. I get downvoted all the time, usually by howler-monkey types trying to make it *look* like what you say is unpopular or wrong or whatever. I call it "badge of honor" and "being recognized" [and not ignored].

        it could be just the usual shills...

        1. Anonymous Coward
          Anonymous Coward

          @Bombastic Bob

          Downvote from me, because because of the gratuitous slur against howler monkeys and shills.

          But, yeah: You see downvotes on innocuous posts and it does make you wonder: What?

          1. bombastic bob Silver badge
            Happy

            Re: @Bombastic Bob

            that's kinda funny, ya know?

    3. Richard Plinston

      Re: Sybase ASE

      > Sybase ASE (where MS SQL Server came from)

      It was from Sybase, but it wasn't ASE. It was the predecessor which Sybase was throwing out and replacing with ASE.

  11. Roland6 Silver badge

    So which is it?

    What is SQL Server on Linux? It appears to be essentially the same code as Windows SQL Server running on a compatibility layer

    ...

    Despite running the same code as on Windows, the Linux product does not have all its features.

    Surely the whole point of this is to enable the installation of the SQLPAL - just as we install Wine, VirtualBox, Docker etc. today then you get out the standard SQL-Server install disk (for Win Server) and run setup.exe. As surely SQLPAL presents to SQL-Server a virtual Win Server xyz environment just like a traditional VM?

    Or is SQLPAL also doing some post-install tweaking of SQL-Server, just like the accelerators MS shipped with Virtual PC.

  12. Aitor 1

    Benefit

    I like SQL Server, but I wonder what are the advantages of this over postgresql. With the full spec, yes, I get it , bus as it is.. more memory usage is the main "advantage" I see...

    1. Anonymous Coward
      Anonymous Coward

      Re: Benefit

      " I wonder what are the advantages of this over postgresql"

      SQL Server has generally better performance, far more features, a way better security record, far better tools, and consistent worldwide enterprise class support for a start?

      1. bombastic bob Silver badge
        WTF?

        Re: Benefit

        " I wonder what are the advantages of this over postgresql

        SQL Server has generally better performance, far more features, a way better security record, far better tools, and consistent worldwide enterprise class support for a start?"

        Uh, are we talking about the *SAME* SQL Server and PostgreSQL here?

        /me wonders if that A.C. also pronounces it 'sequel'... (ew) regardless of early IBM market-speak and their inherently confusing nomenclature (i.e. why can't I find 'sequel server' in their list of available products...)

        1. Anonymous Coward
          Anonymous Coward

          Re: Benefit

          "Uh, are we talking about the *SAME* SQL Server and PostgreSQL here?"

          I was speaking about the full fat MS SQL server, not the Linux one.

    2. mmeier

      Re: Benefit

      More people that know T-SQL may be an advantage in programming that thing.

  13. Anonymous South African Coward Bronze badge

    SCO Unix and Informix DB

    This image reminds me a lot of Informix on SCO Unix...

    https://regmedia.co.uk/2016/11/24/sql-ubuntu.png?x=648&y=348&crop=1

  14. Anonymous Coward
    Anonymous Coward

    I can hakz micro$haft deebee

    scott/tiger

    1. Tim99 Silver badge
      Unhappy

      Re: I can hakz micro$haft deebee

      The scott/tiger reference bought back suppressed memories from my Oracle 5/6/7 development days. I gave you an upvote anyway...

    2. naive

      Re: I can hakz micro$haft deebee

      system/manager was better :)

      1. Anonymous Coward
        Anonymous Coward

        Re: I can hakz micro$haft deebee

        sys/<default password> as sysdba was even better... but there's no longer a default password

  15. Anonymous Coward
    Anonymous Coward

    portability

    "Databases are fully portable between Linux and Windows, with the obvious proviso that unsupported features will not work."

    Translation

    "Databases are fully portable between Linux and Windows, except when they're not."

    1. Ken Hagan Gold badge

      Re: portability

      True, but a more pertinent translation might be "Once we've got you interested by running this on Linux, the databases will be fully portable back to our Windows-based edition.".

  16. mmeier

    Sounds very interesting depending on what features they will have in the final version and on the price. Today quite a few customers on Linux go "Oracle" for a commercial DB with "all the bells and whistles" but do not need some of the top end (and top cost) features.

  17. a_yank_lurker

    Strategy?

    It seems as some Slurp groups are beginning to move away from it must only run on 'bloat with couple keep the regulators off our back versions for Macs. Slurp has said 'bloat 10 is the last version with really explaining what is meant. Many have interpreted this to mean 10 is semi-rolling/rolling release OS like several Linux distros, including me. However, what if Slurp senses the future is going to have more OS fragmentation in all markets then it makes sense to have software versions that run on the major OSes in each applicable market. The time to start is not when full fragmentation has hit but before it does.

    Trouble is brewing for Slurp when normally 'bloat oriented sites are recommending Chromebooks as a viable alternative or even a traditional Linux distro (askwoody.com and pcworld.com).

    1. Anonymous Coward
      Anonymous Coward

      Re: Strategy?

      Trouble is brewing for Slurp when normally 'bloat oriented sites are recommending Chromebooks as a viable alternative

      Slurp make the OS for Chromebooks though - Chrome OS so you would have thought that was a good thing for Google if it were true. In reality though very few people are recommending them when you can get a real laptop that can full a full OS for not much more...

  18. stephanh

    no conspiracy needs to be assumed

    The reason MS is doing this is very simple: MS is trying to attack Oracle in the DB market. Why? Because there is a sh**load of $$$ to be made in the market, that's why.

    So MS needs SQL Server to run on Linux since that is what the majority of Oracle users are using today. The people who are today happily running Postgres/MySQL/MariaDB are probably not the target audience. Neither are existing SQL Server users on Windows.

    I think a performance target of 75% for the Linux version as compared to Windows is quite reasonable and actually somewhat ambitious; presumably SQL Server has been tuned for years to run on Windows, and Windows itself may have received some tuning for SQL Server. I also presume this is not their final target. Remember, what they need to beat is Oracle/Linux, not SQL Server/Windows.

    1. bombastic bob Silver badge
      Thumb Up

      Re: no conspiracy needs to be assumed

      "So MS needs SQL Server to run on Linux since that is what the majority of Oracle users are using today. The people who are today happily running Postgres/MySQL/MariaDB are probably not the target audience. Neither are existing SQL Server users on Windows."

      sounds good to me, except perhaps for the last part, where those considering Linux have to weigh against converting their database to PG or MySQL or Maria, and having SQL Server on Linux would solve that problem "for now".

      Now, how can your post be moved closer to the top so that more people will see it?

  19. ArthurKinnell
    Linux

    Real email servers

    GroupWise does all of this, as it has done for years. Runs on Windows and Linux, and even let's you use Outlook as front end of you really must.

    Anyway back on topic, MS Sql Linux can only be a good thing for me. We have 3 MS SqL instances purely for hosting DB's for 3rd party applications. So to have the option of hosting these on our Linux server instead of having to fork out for yet more MS licenses is great.

  20. oldcoder

    Does exchange know how to handle storage problems yet?

    My little sendmail server (an IRIX R4000 server) wiped out an entire Exchange cluster that took MS about two weeks to rebuild just because it couldn't send a reject response when it ran out of disk space...

    1. Anonymous Coward
      Anonymous Coward

      Re: Does exchange know how to handle storage problems yet?

      Yep, it creates event log alerts and finally it will throttle the traffic. Like most things that are basically a database it will stop dead if it actually runs out of disk space.

      Your problem is most likely that your IT team is incompetent if it ran out of disk space...And that issue would be easily fixed by adding disk space - no need for a rebuild.

  21. W. Anderson

    Stupid project still propagandized

    The fact that Tim Anderson would phrase SQLServer on Linux as ..."Some limitations but most things work" is poor recommendation for most all experienced Linux users who have for generations expected and received great performing SQL RDBMS that consistently outperformed Microsoft Windows and with SQLServer in every benchmark - Reliability, Scalability, Flexibility, Security, Return-on-Investment (ROI), and particularly "multi-platform" support - for Linux, UNIX, Mac OS X, BSD UNIX-like and even Windows.

    Most senior technologists from several large technology firms, organizations and Database groups have commented to me that (paraphrasing) .."SQLServer on Linux is a complete waste of time since it does not compete well with stronger SQL databases, e.g. EnterpriseDB/PostgreSQL, and actually "does not run natively" under Linux for maximum configurability and performance.

    How pathetic a situation is that for this "SQLServer on Linux" weird project, even for Microsoft Windows and applications users.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like