What Might the SSMS Changes Mean to You?
It was announced earlier in the beta period for SQL Server 2016 that SSMS would be moving over to the Visual Studio 2015 shell (I mentioned this and a few of the items below in my post in March about the February SSMS Preview). Some people kind of shrugged as if it was no big deal, and others expected obvious, monumental changes when the first such build was released this past Friday. In my opinion, your reaction should be somewhere in the middle. Let me summarize what this change will mean for most of you in the short term and the long term (and you can get some insight from my interview with Ken Van Hyning, who is leading the charge). I'll address the long term first, because that's the goal, but the short term may present some challenges for early adopters.
- SSMS will be on a completely independent release cycle. This means that:
- Updates will be frequent, and they'll be small and incremental.
- SSMS can much better stay in step with feature developments for all implementations of SQL Server - box, Azure VMs, Polybase, Azure SQL Database, Azure SQL Data Warehouse, and so on.
- Yes, you will need to download two separate installation programs to install SQL Server + Tools onto a server, but they do have plans to make that easy and fully supported (while it seems a religious battle over whether servers should get tools installed, this should make accidental or rogue SSMS installs much less frequent).
- Extensibility will be vastly improved over previous versions (but this will come at a slight cost - it will require changes to add-in development).
- Many theme and skinning options will be available, so you should be able to customize your environment just as you can with Visual Studio today.
- HiDPI/4K monitors will have much better support.
- Backward compatibility shouldn't be an issue for most - I've heard that even SSIS packages can be managed and downgraded regardless of target version. But if you need to manage no-longer-supported engines such as SQL Server 2000 or 2005, don't be surprised if there are compatibility issues. From this post:
Yes, this version of SSMS works with all supported versions of SQL Server. There is no explicit block for SQL Server 2000 or SQL Server 2005, but some features may not work properly.
I can't imagine there will be many things that will break, but as they add functionality to certain controls and dialogs, those won't be tested against ancient releases, so just be aware.
Some of these things will take some time, though. I do urge you to be patient, as you may be affected by some or all of the following issues in the meantime:
- For now, the monthly releases alongside SQL Server 2016 Release Candidates will be full downloads (~800 MB). On the plus side, the ISOs for core SQL Server 2016 installation (both for the remainder of the RCs and the final release) will be that much smaller, and at some point you will no longer need to download the full installer to update.
- Currently, many add-ins won't function - the change in Visual Studio shell also means a necessary change for how add-ins work (see this guide for more details). For SQL Sentry Plan Explorer, this isn't really a big deal IMHO; our add-in simply facilitates the ability to right-click a plan you've already generated in SSMS, in order to open it in our tool. The workaround in the meantime is to save the plan and then open it directly, or just generate the plan inside Plan Explorer in the first place (and this is what I always recommend anyway, since you get much more meaningful metrics and a richer query tuning experience).
- The .NET 3.5 requirement is already gone. This means you can say goodbye to a common installation blocker, and have much less chance of requiring a reboot to install or update SSMS.
- Themes are limited right now, to "Blue" and "Light." There will be more introduced later, as confirmed in a comment on this Connect item.
- Little work has been done to support HiDPI. Earlier builds during the beta rendered pretty poorly under HiDPI because of the scaling compensations in Windows; Gianluca Sartori (@spaghettidba) blogged about how to get around that problem (which continues to work for earlier versions). In the latest monthly builds of SSMS, this display scaling has been turned off by default, so Windows doesn't try to resize text or dialogs. The problem is that, for most people running 4K and similar monitors, the text will look really fuzzy. You can change this setting for the SSMS shortcut (and even make two SSMS shortcuts) and compare (see the image at right; click to enlarge).
(Note that I think Windows has labeled the shortcut option incorrectly; checking the box actually *enables* DPI scaling for the application.)
Just as a couple of quick examples for reference. The fonts and other graphical elements look much, much, much better when Windows implements DPI scaling (as long as your resolution and magnification settings aren't too crazy). I mean, be honest, which of these would you rather look at all day?
SSMS by default SSMS with HiDPI override
However, there are counter-examples where dialogs become completely unusable (especially when they are not resizable):
Help > About by default Help > About with HiDPI override
Also, some elements like checkboxes and tree controls are tiny when DPI scaling is in effect. Hopefully these will be addressed in the near future.
- While this work progresses, you may still see some confusing messaging during SMSS setup (warnings about shared components) or after installation in Tools > Check for Updates (or toast notifications from the system tray), especially if you have installed multiple different RCs and multiple versions of the SSMS preview. From everything I can tell, you can just ignore these - especially the bit about incompatible engine versions blocking SSMS updates. It seems that the build numbering is changing for tooling components to make them completely independent of the engine, and so once all of that work is complete, these warnings should no longer be relevant and will actually go away.
There are some fantastic changes coming to SQL Server Management Studio, but most of the work that has been done so far is relatively invisible - it has merely laid the groundwork for improved usability, functionality, and extensibility. For some more insight into what's driving this, see my interview with Ken Van Hyning.
Aaron (@AaronBertrand) is a Product Manager at SentryOne, with industry experience dating back to Classic ASP and SQL Server 6.5. He is editor-in-chief of the performance-related blog, SQLPerformance.com, and serves as a community moderator for the Database Administrators Stack Exchange. Aaron's blog focuses on T-SQL bad habits and best practices, as well as coverage of updates and new features in Plan Explorer, SentryOne, and SQL Server.