Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
SQL Operations Studio (github.com/microsoft)
299 points by rahulshiv on Nov 16, 2017 | hide | past | favorite | 94 comments


Oh please please please postgres support! The only free+open source option for Linux is Sqlectron (https://github.com/sqlectron/sqlectron-gui) which has massive performance issues.

I badly want an alternative to DataGrip. It's great, but it's not free and its open source license criteria are frankly ridiculous [https://www.jetbrains.com/buy/opensource/?product=datagrip]:

>> Your OS project may not offer paid sponsorship; receive funding from commercial companies or organizations (NGO, education, research, or governmental). You do not provide any paid support, consulting or training services for your OS project, and you do not distribute paid versions of your OS software. Contributors who are paid to work on the project are not eligible.


What about DBeaver? I use it all the time in Fedora to manage SQL Server and other DB's. https://en.m.wikipedia.org/wiki/DBeaver


Well, basically they only want to give it away for free, if you actually cannot pay for it. That seems reasonable. But I agree, an OS alternative would be great, and this seems like it could be it.


Yeah, I understand the logic behind the licensing.

However, under the guise of promoting open source, what this actually does is it promotes giving your work away for free and discourages making money with open source products.

As a huge proponent of open source myself, I have no problem with projects that are open source and make money; anything that isn't "hobbyist level" should be able to make money, and if you want to make money your mindset shouldn't fall back on going closed source.

Huge shout out to Sentry in that matter: They are open source, and if you're open source they service you for free. https://sentry.io/for/open-source/ -- Comparatively, DataGrip is closed source, and they only give you a free license if you can't make money. Very different mindset...


I get your point, but also... You are complaining that they are not willing to give their work away, unless you are willing to give your work away.


But it's not symmetrical like that: DataGrip isn't open source.

It's not so much a complaint (they're within their rights), I just find it uneasy to ask people to forego revenue. I feel it sends the wrong message and promotes the wrong mindset.


I guess it's a good thing I didn't do the project I was thinking about. I observed the fact that SQL Server had no management tool that was cross-platform, and thought perhaps I would build such a thing. Nice work Microsoft!

On a side-note, I'd love to see an even more minimalist stripped-down, read-mostly query/tabular result only (with pivot tables) tool, which had some local columnar storage caching/query engine, and simple import/export to common file formats as well. A simple "SQL notebook" that was cross platform, if you will, but worked more like a traditional query tool. And not embedded in MS Excel, like PowerQuery or PowerPivot (although it's powerful!).

Something lighter weight than BI tools such as Power BI, Tableau, Qlik, etc., definitely lighter weight than tools such as SSMS, DBeaver, SQuirrel, etc. - not for administrative use. I've seen a few applications that are coming close listed on HN lately, but would be nice to have something as pretty as this and which is open source.

Perhaps a fork with the admin features stripped out, some additional plumbing added, and read-only connections, I'm not sure.

Will have to think about it. Main use case is data scientists / data analysts / SQL power users.


These discussions have some options:

Google Data Studio | https://news.ycombinator.com/item?id=15446049 (Oct 2017, 228 comments)

PopSQL – Modern, collaborative SQL editor for your team | https://news.ycombinator.com/item?id=15377339 (Oct 2017, 49 comments)

Franchise – An Open-Source SQL Notebook | https://news.ycombinator.com/item?id=15303833 (Sep 2017, 63 comments)



DBeaver is my favorite open source database admin tool. But it is a full admin tool with way too much UI, not the query only type use case.


As for cross-platform, VS Code has a plugin for SQL Server. It doesn't provide all the graphical management tools that SSMS does but all the stored procedures are available, naturally.

If you're on a Mac, i suggest [1] Hankinsoft's SQL Studio. I've been using it daily for a couple of years. It's very light weight and supports most db's. It has some neat functions too; like marking rows and columns, right click and get insert statements. It's not free, but for me, it has been well worth the price.

If you want something for quick data analysis, I would suggest looking into queryStorm [2]. It was on HN's front page [3] last week, but for it's C# capabilities. It started as as SQL query tool for excel. I have yet to try it but it seems very useful and fast. Although I don't think it has any column store caching.

[1] http://www.hankinsoft.com

[2] https://querystorm.com

[3] https://news.ycombinator.com/item?id=15670030


QueryStorm looks cool and appears to use SQLite for local joins on the desktop, which gets you pretty far (column store would probably get you further). My only gripe here is being tied to Excel and potentially what looks like limited data source support.


The VS Code plugin and SQL Operations Studio both use the SQL Tools API Service[1].

[1] https://github.com/Microsoft/sqltoolsservice


DataGrip by JetBrains is cross-platform and supports a large variety of database servers.


It's a nice tool, but is a full admin use case- I'm looking for a simpler query only situation. I think I tested this actually when it was codenamed 0xDBE.


I'm also looking for a tool like this. I think plot.ly's new Falcon tool comes close to barebones sql + plotting. [0]

I love reading blog posts on small projects hooking up sql and simple data analysis - check out this small Flask/sql/d3 app I found earlier [1]. I'm not sure how closer a stripped down product can come to something like this. I guess you could wrap everything into an electron app, but maybe I think it would then be overkill for what I've been looking for.

[0]: https://plot.ly/free-sql-client-download/

[1]: http://www.datasciencebytes.com/bytes/2015/03/07/a-d3js-plot...


Have you looked at Metabase? http://www.metabase.com


Yes, thoroughly. It's a great project, my only regret is it would be nice to have a purely desktop based front-end utility. Metabase comes close in the fact that you can run one single JAR and be up and running, so it's close for sure. Maybe I am old school, but I think part of my gripe is due to the state of flux of merging traditional desktop UI and web or browser tech. For ordinary desktop users, running a JAR file so they can run a local server app in a browser seems too technical still.

I guess I'm saying, partially it's the packaging for end users who want to run independently like a standalone application which is the issue.

But yes, Metabase is great and the team working on it is doing a great job.


Excuse me for my second plug this week, but we've built almost exactly what you're describing over at PopSQL (https://popsql.io).


So that's pretty cool,thanks for sharing it, but tying it to a cloud SaaS model isn't as valuable (for me). I like the simple clean look of your UI. Your idea to allow shared editing is pretty cool :)


In case you're wondering, or just want to confirm the reason for the presence of a "privacy statement" --- yes, it does phone home:

https://github.com/Microsoft/sqlopsstudio/tree/master/src/vs...

At least the source is available, so it should be relatively easy to remove, but as the saying goes, "look before you leap"...


Microsoft spying is such a trope. So why do they just keep piling it deeper? Do they think that their users are stupid?



That looks like opt-out (it's named "telemetry.enableTelemetry" and has "'default': true").


Set

"telemetry.enableTelemetry": false

In Preference > Settings


No Postgres support yet. Looks like a great app though. https://github.com/Microsoft/sqlopsstudio/issues/56


I hope this grows like VS Code has since it was launched. Will hopefully add support for a lot of different DBs.


The 2ndQuadrant team is building OmniDB: https://github.com/OmniDB/OmniDB


You're kidding, right?

This is a Microsoft product. Microsoft have their own database. What value is it to them to help people continue using competitor's products?

Besides, it's not like Postgres doesn't have plenty of GUI tools already:

https://wiki.postgresql.org/wiki/Community_Guide_to_PostgreS...


Not kidding. If my database is Postgres, I develop for it in Visual Studio Code and deploy it to Azure, why shouldn't I be able to explore it with another Microsoft product.

I grew up with the Microsoft you describe, but they've been gone for several years now. Not to say they can do no wrong, or that we shouldn't be wary, but to think it ridiculous that they could support multiple databases is not compatible with their actions lately.


I was actually in the room listening as the question came up to the team that makes this tool, its not off the table at all.

The value to them is Azure, which hosts open source databases, why not give your customers the decent tooling at the same time?

You'll even find things in the tool that reference non-Microsoft language, eg the button generally labeled "Estimated Execution Plan" in SQL Server Management Studio is labeled "Explain".

The methodology behind the plugin absolutely allows abstracting out the MSSQL specific components, its just an open source fork of VS Code.


I implore you to do this. Every time pgadmin dies, I also die a little inside.


Well Microsoft does offer PostgreSQL on Azure from what I can tell... https://azure.microsoft.com/en-us/services/postgresql/


Then explain why Microsoft become platinum sponsor for MariaDB.


Good to know. Will move to Percona or MySQL.


That seems like a very short-sighted, if not childish, statement.


What? My decision is based on years of observation. I applauded MariaDB at first, but they almost went bankrupt, merged with another company, changed he business model (release new code parts in a different license). And on the other side I still remember Cyanogen + CyanogenMOD that got so much worse and died because of a certain "sponsor". https://en.m.wikipedia.org/wiki/CyanogenMod nowadays forked as LineageOS, but many things got lost incl older devices. So a small number of companies with deep pockets are like cancer to open source projects, the good thing is they can be forked. But see MaxDB for an open source database that never got forked, and there is no open source project anymore, it got closed source, and nowadays powers parts of expensive SAP HANA data store. It is better to install Percona MySQL fork, or MySQL community edition.


You do realize this very release works on competitors to Windows, which is still a revenue driver at Microsoft, yeah? As does, you know, Azure? ...aaaand SQL Server? :)

http://www.zdnet.com/article/microsoft-nearly-one-in-three-a...

It’s Nadella Microsoft, amigo. Not saying marry them, but at least let them buy you a beer.


Up from 30% in 2016, nowadays 40% of the instances on Azure run Linux

http://www.zdnet.com/article/microsoft-says-40-percent-of-al...


I wonder what SSMS can do that this can't? SSMS is not cross platform as far as I know, whereas this is. Would be nice if they elaborated on the differences and pros/cons.


Ssms has menus and GUIs and such for all the non database SQL Server items like SSIS, SSAS (full cube browser), SQL agent, CLR, plus creating more advanced objects like Credentials and application roles and scenarios like suggesting indexes and performing DB maintenance.

This is purely a database development tool, at least in its current form.


On my first cursory glance: no table designer, no execute stored procedure GUI

There's a lot of little things I wish SSMS had/did (like inline text search for sproc/table) and was hoping this would have it. The execution plan screen (explain in this IDE) is a lot cleaner, though.


What do you mean "inline text search for sproc"?

I use a combination of SQL Hunting Dog http://sql-hunting-dog.com/ (quick search all object names) and a SQL script from the (free) SSMSBoost plugin that looks at most object definitions but not table columns unfortunately. I've used Red Gate's SQL Search in the past but it's always been slow and buggy over the VPN.

If you're looking for a better execution plan utility, check out SQL Sentry's Plan Explorer. It's free.


In the object explorer just some text input that would filter accordingly. Some of our databases have a TON of tables/sprocs and it would be a nice convenience.

SQL Hunting Dog looks exactly like what I've been wanting, thanks for the recommendation!


I also would like to know. I use Management studio at work. It would be great to find a good multiplataform that I can use everywhere.


I use DBeaver for cross platform support of SQL Servr at work. Obvious missing things like Query Plan support and all the newer goodies. For basic query design and ad hoc work it's great.


My first thought is any SSMS specific plugins such as RedGate SQL Search and version control.


SCM?! If it can, then I am sold.


Currently extracting the 16819 files in the archive.. ;-)

That said, the screenshots look decent and I've been looking for an alternative to the SQL Server Management Studio a couple times already. So I already applaud the effort.


Same here - I'm glad I have a NVME drive, dread to think about the extract on a SATA one. :D

Very exciting development, looking forward to trying it out.


Why on earth would it be dreadful on a SATA SSD? Does it really matter if it takes 15 seconds vs 18 seconds?


Don't get it either. Took at most a minute here on my non-SSD laptop.


Maybe something else was going on with my laptop, but it took several minutes for me.

Was using a few instances of Visual Studio 2017, but I don't think they were going flat out.


Would this be the "Visual Studio Code" to the SQL Server Management Studio?

No mention of CosmosDB (I want some kind of SSMS equivalent for CosmosDB).


They added some preview support for CosmosDB recently to Azure Storage Explorer. https://azure.microsoft.com/en-us/features/storage-explorer/

But I haven't used it with CosmosDB yet.


It seems like that's the direction they're taking. But there is a lot of SSMS functionality I can't do without (replication, sql agent, RedGate SQL Prompt!, etc). This is a good start, but still a ways from a solid DBA tool. Pretty dashboard, so maybe I can keep it on a 3rd monitor but do all the heavy lifting in SSMS.


I think there's a VS Code plugin for CosmosDB.


I think so. It’s based on a fork of Visual Studio Code.


Unfortunate license, you can't redistribute it, verbatim or otherwise.


I just logged an issue suggesting a change of license: https://github.com/Microsoft/sqlopsstudio/issues/102


I had a discussion with MS about it, and they're going to update the Github issue soon. Short story is that they're not going to consider changing the license until general availability, but they're gathering feedback in the meantime.


Thanks for the update.


Hopefully that changes, it would become a really great cross platform SQL toolset, especially if and when they add in support for other SQL databases. Might be focused for Azure / MSSQL like Azure Storage Explorer is for Azure Blob Storage only (not sure what else it would support really).


This is a good time to ask: is there any good SQL IDE for Oracle better than SQL Developer?


JetBrains DataGrip is pretty good. It's not free, though.

https://www.jetbrains.com/datagrip/


I'd be interested in something better as well. I was testing SQuirrel SQL the other day (have used it before for MSSQL), but the Oracle plugins for it seem to have succumb to bitrot over the past couple of years. UI can hang for minutes on new connections, CTE's aren't recognized as valid syntax, searching Objects is slow and cumbersome.

I know a few people who just use Intellij for it.


Probably not better but have you tried Tora (https://github.com/tora-tool/tora/wiki) or Dbeaver (Eclipse based) or Henplus (universal db shell)?


PL/SQL Developer is excellent but you do have to pay for it. It's not expensive though, much cheaper than TOAD!


Toad used to be a great choice. I would look there.


Yes, it's called SQL*Plus. Take the time to learn it!


how does this compare with datagrip?

https://www.jetbrains.com/datagrip/


This one's directed at Microsoft SQL offerings, including the ones in the Azure cloud. Whereas DataGrip is for most SQL databases. Also this one's free, and DataGrip isn't (almost a shame but it's worth it's salt). DataGrip definitely is more featureful since it's been around a bit longer. Funnily enough the one Microsoft made looks like it derives from Visual Studio Code, much like MSSQL Management Studio derives from regular Visual Studio, and I think that'll mean Microsoft might embed some features from this into Visual Studio Code, but that's me just speculating, and it could take a while before they do.


It'd be nice if SQL Management Studio and Visual Studio from the same generations were based upon the same platform, although I can understand why that's difficult and why SQLMS lags behind. I did get a little sick of having VS 2010 components kicking around for years after I'd moved on.


I am wondering if the long-term solution is going to be that SQL Management Studio goes away, in favor of SQL Operations Studio and possibly some other graphical tools for more specialized things like data warehousing etc. The more good next-generation cross-platform tooling that MS roll out, the more it sort of grates to have to flip back into a Windows system for that one specific thing.


Where was this last month when I was at a Microsoft Hackathon with my Macbook Pro trying to browser MS SQL hosted on Azure?



This looks like SQL Server Management Studio will be deprecated once this project reaches a v1.0. About time too - as SSMS barely supports SQL Azure at all; pretty much all the useful GUI screens are not available.


If that's true, it'll be years before 1.0. There are many admin screens that this new tool will have to replicate.


This is actually quite decent for a first version. I can see that it has git integrated. What workflows do people use to combine git and sql?


Be aware of the non free license


With minimal effort this may prove better than SSMS.


No Support for SQLite?


With this being Public Preview 1 I hope they add more DB type support over the coming months.


DataGrip from Jetbrains is good for SQL stuff.


Finally, DBA's can experience the "wonders" of electron too.

When you accidentally select * and get 100,000 items back how does the non-native table view hold up?


It works well for large data sets. The UI is indeed virtualized (using SlickGrid), and the backend streams query results to a temp file to avoid memory usage growing too high. Note: As you might guess from the details, I work on this tool. Please try it out and let us know if you run into any issues!


I'm loving it so far. Thanks for your work!


Have you seen pgAdmin III? You are not doing any sort of action in that tool within 30 seconds. Worst of all, it's pre-Electron terrible, where they run a local webserver that is probably leaking your database secrets to every local app.


Do you mean, perhaps, pgAdmin4? What you said is consistent with pgAdmin4, but not with pgAdmin3


Hopefully they use a virtualized grid, which there are more than one js ones to choose from that have no problem with 100,000 rows.


I don't think that virtualized grid is an good idea for something that is primarily meant as GUI for SQL database that implicitly exposes the SQL to user.


You might have a good reason for thinking that, but I can't tell from this comment.


1) efficient implementation of data source for virtualized on top of relational (or otherwise not directly addressable) grid involves having some knowledge of how the data looks in order to be able to get only the relevant part of data by using indices ant not by geting rows 1000-1100 by selecting first 1100 and then throwing first 1000 out (which is how LIMIT 100 OFFSET 1000 is implemented by essentially all SQL databases)

2) when presenting results of user supplied SQL in this way you have to rewrite it somehow, which means that database ends up running different query than what the user entered, which is counterintuitive behavior and there certainly are cases where it is not desirable at all.


A virtualized grid does not mean the data request is virtualized all the way to the sql server.

The main issue with displaying 100,000 rows in the browser is DOM overhead. A virtualized grid like Slickgrid which they are using, reuses dom elements as you scroll and in its simplest form is just backed by an in-memory JS object.

Once you start exceeding what works well in memory you can move to a local temp file system, which it sounds like what they are doing.

None of this has anything to do with the SQL server itself, it simply sends the entire result set to the client which deals with buffering and virtualizing it to the UI in whatever way necessary.

This is how native SQL UI's tend to work, I have never seen one rewrite SQL to try and virtualize all the way to the DB.

Obviously unless you do use the DB there will be limits, but 100,000 rows fits entirely in memory without issue: checkout this sample: http://mleibman.github.io/SlickGrid/examples/example-optimiz...




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

Search: