The Importance of Thick Clients

I’ve used a number of clients with SQL Server across the last 30 years. I worked early on with the command line and isql (now SQLCMD and soon Go-SQLCMD). That was handy with DOS and Windows 3.1. However, I soon moved to GUI tools and spent years in ISQL/W,  which was how I ran Query Analyzer. Enterprise Manager was the next evolution, though I used Rapid SQL for awhile to get offline query work while on a plane. This was handy for me in documenting and commenting code without a server. Amazing to think I used to work without a SQL instance on my laptop.

SSMS (Management Studio) has become the de facto way I’ve written queries for over a decade. Microsoft has tried to push people to Azure Data Studio (ADS), but I don’t see a lot of people moving to it. It’s fast, but also, not attractive, at least not to me.

I saw a post recently from Chris Webb, asking if it was possible to do all one’s development in the Power BI Web interface. He asks the question since lots of BI people have Macs and you can’t run Power BI Desktop on MacOS. That’s one reason why ADS was created, to provide a cross-platform tool. Chris says the web isn’t quite up to snuff, though it’s been improving. So for now, you need Windows.

I feel the same way. I do wish SSMS was available cross-platform. When I had a MacBook, I constantly had a Windows VM running to get to SSMS and SQL Server. These days I could run a Linux version of SQL Server on MacOS (or a container), but not SSMS. I could run ADS, but I don’t love it.

I’m not completely sure why ADS bothers me, but I think a big reason is the familiarity of a thick client and Windows GUI controls. I always felt many of the Linux GUI elements feel like cheap imitations of their Windows counterparts. The smoothness of the Win32 applications, the way that grid results come across, the rendering of text, smooth menus, etc. run is just better. Even when it’s not great, it’s better.

I like the thick Windows clients.

I do think there are some nice Electron-based apps that look and work well in Windows and Linux. In fact, Redgate’s own direction has been Flyway Desktop rather than continuing to insist on SSMS, precisely because we find more and more customers aren’t standardized on Windows. This is especially true for RDBMSs other than SQL Server. That UI looks pretty good, though admittedly, I’m not writing queries.

Especially in SSMS, the way a thick client works is much better than ADS. Especially with SQL Prompt. Intellisense in ADS leaves a lot to be desired and the constant need for me to use the command palette for things is annoying. Give me menu items and better shortcuts. I’m not sure why I don’t think it works as well, but it doesn’t. Not for me.

I wonder how many of you feel the same way. I know some people love DataGrip, but that is often because they work cross-platform or they are full-stack people that like Rider for their other work.

I do like VS Code, but I’m almost always just writing code, not looking at results or managing a server instance. When I look at other platform tools, MySQL WorkbenchpgAdmin, SQL Developer, I see why SQL Server and SSMS are preferred by many. Those tools are just poorly built compared to SSMS.

What do you think? I know many of us dislike things about SSMS, but still find it indispensable for daily work. Do you love/hate SSMS or have you found another tool that works well for you?

Steve Jones

Listen to the podcast at Libsyn, Spotify, or iTunes.

Unknown's avatar

About way0utwest

Editor, SQLServerCentral
This entry was posted in Editorial and tagged . Bookmark the permalink.

6 Responses to The Importance of Thick Clients

  1. I mostly use ADS, but I don’t do anything more than writing queries anymore. If I were still doing admin work like permissions management or detailed performance testing, I’d be using SSMS. There are some trade-offs, but it really comes down to this: SSMS is much too heavy, takes too long to start up, and is built on an outdated VS framework. I’ve even used the SQL Server extension for VSCode, though the layout for that (query & results side-by-side) isn’t really practical, and the results have to re-run if you switch tabs. Electron has some tradeoffs, but for my modest needs ADS is the quickest way to develop a query for me.

    Like

    • way0utwest's avatar way0utwest says:

      ADS is quicker to start, but the connection process and dialogs are slightly maddenign to me. I do find SSMS very stable, and since I rarely reboot, I rarely restart it.

      That being said, if I were running other heavy apps, I might find ADS easier to swallow in terms of UI

      Liked by 1 person

  2. BlueCollarCritic's avatar BlueCollarCritic says:

    Well said. I’d say SSMS is Ubiquitous with SQL

    Like

  3. Microsoft seems to be continuously trying to push users to what MS wants the user to want and not necessarily what the user does want. The Windows Ribbon is a perfect example of how when there’s user pushback MS will just push back harder in this example by making the Ribbon mandatory vs optional.

    Like

  4. way0utwest's avatar way0utwest says:

    It’s a mix. They struggle to meet the needs of people with SSMS, primarily because it’s a big mess and they depend on the VS team. There is a lot of tech debt, so continuing to support this platforms costs them resources while not being really agile and meeting the needs of customers.

    ADS is easier for them, but it’s limited, and they don’t want to “rebuild” SSMS in here. Nor do I want them to.

    Building software for a lot of people isn’t simple or easy. For everyone that hates the ribbon, some like it. In some ways, I do like it. What I hate in there are the drop downs don’t default to my last press and I have to make two clicks to repeat an aciton over and over.

    Like

  5. sqlmac's avatar sqlmac says:

    SSMS is unfortunately still the defacto way I do a lot of the admin tasks related to SQL. However, I do spend a quite bit of time in VS Code and there are a lot of things I use DBATools for. I wish MS would build a fully functioning admin pack for VS Code. I would even be happy to use ADS if it could do everything SSMS can. I also find myself doing a lot more with Postgres and my organization seems to be moving that way as well.

    Like

Comments are closed.