
MSSQL on Linux – the details - winged
https://www.adfinis-sygroup.ch/blog/en/mssql-on-linux-the-details/
======
EvanAnderson
This article feels like a long paraphrasing a Microsoft blog post [1] that was
already discussed on HN[2]. I'm not seeing any new insights or analysis-- just
restating of the points already made on the Microsoft blog.

[1]
[https://blogs.technet.microsoft.com/dataplatforminsider/2016...](https://blogs.technet.microsoft.com/dataplatforminsider/2016/12/16/sql-
server-on-linux-how-introduction/)

[2]
[https://news.ycombinator.com/item?id=13206438](https://news.ycombinator.com/item?id=13206438)

------
bdcravens
Article implies only clients for managing SQL Server are SSMS or VS Code - for
most of what you'd need to do, tools like DataGrip, Navicat, or any other
solution that supports JDBC works well on most platforms.

~~~
tkubacki
IntelliJ db browser is nice as well. You can connect to all mainstream DBs
including MS SQL.

~~~
bdcravens
Yes, DataGrip is the full blown standalone version of the database tool in
their various IDEs.

------
ishtu
_user space version of the NT kernel (known as NTUM - "user mode NT")_

This is pretty neat. Wonder if people could use it to run other Windows stuff
on Linux

Edit: formatting

~~~
mistaken
That's like an official implementation of WINE from Microsoft.

~~~
my123
It's much more complete than Wine, it actually has the whole Windows graphics
stack running, outputting over RDP ;)

------
rb808
To me its quite amazing that in 2016 we have a fully approved & supported
Windows kernel running in linux and a linux kernel running in Windows. Makes
me rethink the definition of what an OS really is.

~~~
godmodus
unless it's the good ol` Embrace & Extend & Extinguish. it's here now, but i'd
wait and see where this goes. we're lucky we still have linus.

~~~
draw_down
It's possible to come up with FUD regarding anything.

------
merb
Exchange and AD would be huge. Unfortunatly Exchange needs IIS and probably an
AD server.

~~~
mrmondo
We replaced all our AD servers with SAMBA4, so much more reliable and while
AD/LDAP is still a nightmare of an architecture having it running on standard
Linux servers means it's much easier to monitor, backup, snapshot, introspect
and it far out performs windows based DCs.

------
stargrazer
Are there links to licensing costs? Are there regular client access license
costs as well? So... if there are costs for licensing, then converting from
postgresql to mssql is a little harder to swallow.

~~~
antaviana
AFAIK, the costs and editions will be the same as in SQL 2016 (i.e. Express,
Web, Standard, Enterprise).

~~~
greggyb
This is correct. SQL Server licensing is not changed. The major benefit is
being able to share a single infrastructural OS for application and DB - it is
not uncommon to see Linux app environment and Windows DB environment in a lot
of large organizations.

The secondary benefit is removing the Windows OS licensing cost.

------
asah
How's performance?

~~~
my123
Performance is fine.

------
rodorgas
Can you configure MSSQL just editing files without a GUI, Unix-style?

~~~
wedowhatwedo
You've always been able to do that. Almost all configuration of MSSQL can be
done via a script. I can't think of anything that you need to do on a day to
day basis that can't be scripted.

------
koltaggar
Do people actually run this ?

~~~
ljoshua
It just barely became available as a public preview. It's not recommended for
protection yet.

------
womitt
Any valid use cases?

No offence, was just wondering why would anybody use it...

~~~
greggyb
Forewarning: This likely sounds like a shill post. I'm okay with that. I work
for a Microsoft partner and we're tightly integrated with the MS sellers for a
number of products. I am trying to provide an answer to the use cases.

A fully integrated data platform suite with several tools that are best in
class. SQL Server is not just a relational database engine, though that is at
the core of most tools and services.

SQL Server is a SKU that includes many things:

    
    
        * Relational engine
            * In-memory OLTP (SQL compiles to native code)
            * Columnstore indices for OLAP workloads
            * The two above can be combined for real time analytics
        * Embedded R engine in DB
        * SSIS - data processing orchestration tool AND ETL tool
        * SSRS - traditional reporting platform (with native mobile reports)
        * SSAS - best in class OLAP engine/semantic layer
        * MDS - Master Data Services (basically a rules engine)
        * DQS - Data Quality Services (pluggable back end for data quality needs - batch or real time)
    

I do think SSAS is truly best in class. The others are all solid products,
some better than most competitors, some middle of the road. You can certainly
find equivalent open source products or vendor products and roll your own. But
SQL Server as a SKU is not competing with your Postgres server. It's competing
with damn near everything that touches data at your company.

~~~
vasilia
> It's competing with damn near everything that touches data at your company.
> MSSQL for data processing? Really? I think only huge legacy projects still
> using it. We're using Hadoop with some C++/Hardware acceleration.

~~~
greggyb
Really? Because I see Microsoft revenue continuing to increase and the partner
ecosystem continuing to thrive. I also get to see licensing agreements and I
get to see what sales quotas are in the MS data platform.

None of the numbers indicate a shrinking market to me. SQL Server does compete
for analytics workloads. Is it a direct competitor to Hadoop? No.

I have clearly stated my bubble up front and I'm trying to keep my claims
within that bubble. The question was "what are the use cases?" I answered
that. I am now saying that I see a thriving SQL Server business. I'm not
saying no one uses Hadoop because more of my projects leverage SQL Server
components than Hadoop. You are claiming that SQL Server is only for legacy
projects because you are not using it.

------
hl5
Microsoft is misfiring on another major computing trend. If you can't fork the
code, you are missing an important feature.

------
thinkMOAR
"It's astonishing but true - Microsoft really has figured out how to package
software for Linux. \o/"

It is not very difficult to create linux packages, writing microsoft has
figured it out makes it sound as if its rocket science. It also sounds as if
these packages are for 'linux' but the ones mentioned in the article are
specifically for CentOS linux.

And as far as i understand they only released packages for CentOS/REHL and
Ubuntu. Not all linux distributions.

~~~
stevekemp
I notice the installation-example is broken:

    
    
       sudo curl ... > /path/to/local/file
    

That'll run the `curl` command with privileges, but the existing shell will
handle the redirection, so writing beneath /etc, as in the example, will fail.

The simpler approach is:

    
    
       curl https://horrid.site.sh/ | sudo tee /etc/blah/path

~~~
winged
Thanks a lot! Just fixed that line.

------
frik
MS SQL Server database is a very old codebase. It dates back to Sybase SQL
Server database (1980). Microsoft licensed and forked Sybase SQL in late 1980s
and early 1990s and branded t as MS SQL Server. The strategic manoeuvre to get
this database and basically got rid of a major vendor is not uncommon for
MSFT:
[https://en.wikipedia.org/wiki/History_of_Microsoft_SQL_Serve...](https://en.wikipedia.org/wiki/History_of_Microsoft_SQL_Server)
and additional background info: [https://en.wikipedia.org/wiki/Ashton-
Tate](https://en.wikipedia.org/wiki/Ashton-Tate) . Little has changed in the
comming years, MS SQL kept the old SQL syntax for decades. Some interesting
improvements came from the WinFS and XML teams (like full text search and
refactoring to allow leaner editions - at one point it was planned to ship SQL
Server (desktop ed) with Vista as part of WinFS update). Only recently with
SQL Server 2014/2016 the very old and crufty syntax got some improvements. Or
things like international date formats - remember it's a codebase from he
1980s, be happy with four non-standard non-ISO formats - things are getting
better, but parts of the codebase slept for like 20 years with little love.

On Linux there are Oracle, DB2, Postgres, MySQL, ... and in near future MSSQL
too. Depending on the use case, choose wisely. There are many nice features in
all of these databases, and several little documented dark edges that you
better know about.

~~~
dhd415
You're misinformed about the nature of the SQL Server codebase. While it was
originally licensed from Sybase, all parts of it have been completely re-
worked. I read somewhere that they celebrated "zero Sybase day" or something
to that effect in the early 2000s to mark the retirement of the last of the
original Sybase code. Some more info here:
[https://blogs.msdn.microsoft.com/euanga/2006/01/19/sql-
mythb...](https://blogs.msdn.microsoft.com/euanga/2006/01/19/sql-mythbusters-
sql-server-is-really-a-sybase-product-not-a-microsoft-one/)

As for its performance and features, I have run PostgreSQL, MySQL, and SQL
Server in production on large workloads and am a big fan of PostgreSQL. That
said, I've encountered the fewest sharp edges and disappointments with SQL
Server. It is a very respectable RDBMS and it's great that it's now available
on Linux.

~~~
pmelendez
The main issue I have seen with SQL Server was a constant deadlock (every two
weeks or so) over a table with high writes (peak at 800k per sec), which was
annoying because the fail-back to the replica affected the DNS entries and
meant 5-15min of outage.

But to be fair it was an example of the wrong tool used badly in the wrong
situation deployed in a poor environment.

