Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Can someone tell me why I would want to use SQL Server when there are so many robust and free RDBMS available on Linux?


Reverse your thinking. Think of a business that's dependent on MSSQL -- now they can run in on Linux, and also, they won't need to think about DB server migration. Many businesses are gravitating towards Linux on the server for many reasons, but they don't necessarily want to change their DB technology.

In other words: MS isn't just trying to acquire new users, it tries to keep existing ones.


This 10x. We're a very large consumer of MS licenses, and even so, we're pushing out to Linux where we can. And of all the MS technologies we use, the one we'd never give up is MSSQL.

I'm really happy to see this.


I couldn't agree more here. SQL Server is the only server product from MS I won't move off. I'm running an MS server only to run SQL Server. I would love to use a linux instance.


typically the oldest part of a business that's kept around in its current form is the database which stands as the point of record.


Reverse your thinking. It's not about enabling people to move to Linux while keeping not ms sql. It's about making sure the people who are moving to Linux either way don't also move away from ms sql


The query planner is top notch. I rarely have to worry about query plans. MSSQL will take my 'readable' code and make an efficient plan out of it. Whereas in mysql and postgres there are many times when I have to write less readable SQL code because their query planners are not able to optimize as well. Ex: mysql sometimes has issues with nested statements, and postgres has fences on CTEs.


I read this while I'm right in the middle of trying to figure out why a linked server query which is a simple join on the same table, on two indexed columns, is taking 5 seconds.

I'm not saying MSSql isn't really nice. I'm just saying I found the timing of reading your comment amusing.


Does the server have access to the linked server's statistics?

http://www.benjaminnevarez.com/2011/05/optimizer-statistics-...

> To create the best query plans when you are using a table on a linked server, the query processor must have data distribution statistics from the linked server. Users that have limited permissions on any columns of the table might not have sufficient permissions to obtain all the useful statistics, and might receive a less efficient query plan and experience poor performance


Is there a good reason for this? I can't think of one.

I think a lot of such nonsense is going to go away very soon.


I'm honestly not sure how much of that would be related to the query planner vs linked server network code.

Speaking of which, linked servers (cross OS, cross SQL type database queries) are native in MSSQL, but require a third party odbclink in postgres, which does not appear to have been updated since 2010[0].

[0] - http://www.cybertec.at/en/media/downloads/


Linked servers in Postgres can be implemented using foreign data wrappers (part of the SQL/MED implementation in Postgres - MED = management of external data which is actually in the SQL spec): https://wiki.postgresql.org/wiki/Foreign_data_wrappers


Which are super awesome!

but stuff like "Does not compile with PostgreSQL >= 9.2!", "A patched, but completely untested version", and "The current version does not yet support WHERE clause push-down, column push-down, JOIN push-down, or write operations."[0] are riskier (and a harder sell to management) than having the functionality backed in the core engine and admin interfaces.

[0] - https://github.com/GeoffMontee/tds_fdw


You may want to look at the OPENQUERY syntax, which may help to resolve performance problems related to remote joins.

Edit: Useful if both tables in join are on remote (linked) server


I solved it by breaking it into two queries in my sproc. Suboptimal, but also done :)


Up to a point. Unfortunately this fairly rock solid planner means that a lot of people will keep throwing things at it until until explosions. SQL Server's parameter sniffing often makes me sad, and having to turn on trace flags effectively by default is still fairly annoying.

Otherwise I am pretty happy with the product.


In most of the benchmark contests I've seen SQL Server does pretty darn well - and if you don't mind locking yourself into the domain, it comes with a lot of bells and whistles for ETL and stuff (SSIS) - and it's been a few years since I was a DBA, but at the time nothing came close - even close - to SQL Studio as an IDE. I'm not saying I'd pick it over PostGRES hands-down, but there are a lot of things going in its favor that merit at least basic consideration.


SQL Server on a virtual Windows server is like the de facto set up within the non-IT-but-still-kind-of-technical groups of large organizations. There's just a ton of UI tools built for it and it's a nice transition from Access to something more robust.

But it means having a separate windows-server team set up to handle builds and all that. The crappy thing is that the rest of IT uses Linux or Unix based OSs for their software, so Cygwin ends up getting installed on most Win Servers to open them up to the NFS shares that drive most of the data movement. I could see this being pretty huge to be able to migrate the various SQL server versions and Win OS versions over to Linux and ditch the need for dual environments while still supporting a RDBMS that most of the business is comfortable using and has tons of legacy data and apps built against them.

But.. yea I agree. If you just need a database, drop Postgres on a linux box and role. It's free and there is a huge community. If you've got the money and need something managed for you with support built in and lots of horsepower then go with something like Teradata. SQL Server feels like the Sears/k-mart of RDBMS. I'll just go to Walmart, thank you very much.


> SQL Server feels like the Sears/k-mart of RDBMS. I'll just go to Walmart, thank you very much.

For a non-american, what's the difference between Sears/k-mart and Walmart?


Walmart is the cheapest, often frequented by (or stereotyped as) lower income demographics. Not sure it's the best analogy.


You might have an application that uses SQL Server-specific features, and if you have a separate database server cluster now you just have to pay for SQL Server licenses instead both it and Windows Server.


Wonder if the pricing is such that SQL Server for Linux is the exact same price as SWL Server for Windows + Windows


It'd be ridiculous to charge different amounts for a license based on the OS. Has that ever happened before?


It makes sense to charge different for different OS. Using absurd examples, it would not make sense to charge the same for a hypothetical version of SS for iOS than say another hypothetical version of SS specialized for CoreOS for instance.


I believe Apple like to buy up software and then charge more for it on non-Mac OSes.


Presumably you're not going to start using it now if you haven't been already. But if you are looking for a more flexible deployment target for your existing SQL Server setup...


For its eco-system, of course. Their BI tooling is pretty well integrated, as well as (comparatively) easy to pick up.


It's an enterprise product. It has orders of magnitude more features than postgres or mysql.


In my experience MS SQL server has a significantly better query planner than Oracle. So that' something to get excited about.


Because a lot of software vendors use SQL Server for their backend, so now you can have a choice to run on Linux. It is major league annoying to have to use Windows Server if your backend is mostly Linux, etc.

I dearly hope the SmartOS and FreeBSD folks can make it work on their respective platforms.


For example you are running an ASP.net+MSSQL app and you are tired of dealing with IIS and/or Windows Server. Now you can run Nginx+ASP.net+MSSQL on Linux, for minimal effort.


I am pretty sure this will be very well Integrated into Linux on Azure. I se this as Microsoft way of Building af new stack (this time on azure).


you probably wouldn't, but there are lot of people who run sql server today who would love to run it on linux. I used to be one.


I'd presume that integration with ASP.NET (core) is good, so now you can run pure Linux MS web stack.


Enterprise stuff.


Because features!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: