Management Studio February Preview: An Illustrated Guide
Yes, it's March. But just today, Microsoft announced the availability of a new build of Management Studio (SSMS), labeled the February 2016 Preview.
You can download a new preview of SSMS standalone (13.0.12000.65) here:
Changes to SSMS are documented here:
- Announcing SQL Server Management Studio - February 2016 Release
- SQL Server Management Studio - Changelog
- An updated version of SQL Server Data Tools (SSDT) has been released here: SQL Server Data Tools Preview in Visual Studio 2015
It is important to note that there are significant changes in SSMS, either already in place with this build, or in process for one of the next ones. You should be aware of a few things:
No more .NET 3.5 Framework required!
I have to tell you, this was wonderful. I was able to install Management Studio 2016 on a freshly installed Windows 10 virtual machine without having to stop, go back, install .NET 3.5, and start over (I voiced my misery over this here). Sadly, though, it is still a requirement for the RC0 database engine. My fingers are crossed this prerequisite will be totally abolished by RTM.
HiDPI issues have been (kind of) fixed
Gianluca Sartori (@spaghettidba) blogged about the issues you may have noticed with older versions of Management Studio on HiDPI, UQHD, or 4K/5K screens in his post, "SSMS in High-DPI Displays: How to Stop the Madness." Essentially, Windows tries to scale things for your DPI settings and, depending on the technology used to render your fonts and dialogs, this can end up with ugly and sometimes unusable screens. Gianluca's fix is to make a registry change and add a manifest file to the SSMS directory so that SSMS no longer tries to render Windows' scaling changes. In the latest builds of SQL Server 2016, SSMS now acts as if the manifest file were in place. Take a look at the following image:
Go on, click to enlarge. Compare the table properties dialog on the left (using RC0) to the one on the right (using a CTP 2.2 build of SSMS, but on the same version of Windows, with the same resolution and scaling settings, and the same monitor). The one on the right is at least resizable, but it does not present well initially (there are worse examples of this in Gianluca's post). The one on the left has ugly, blurred fonts, which makes me feel like I'm using a CRT in the late 1990s, but at least all of the dialogs are now usable. You can also compare the Help | About dialog to the one below - when the problem is active, you have to Copy Info to even tell what build you're running, because the dialog is not resizable.
SSMS is moving to its own, independent release cycle
This means that you will download SSMS separately, it will have its own "check for updates" functionality, and it will no longer be included in the features area of the main SQL Server setup routine. In fact, in RC0, it has its own setup routine launched from the installation center:
...and no longer appears among shared features:
However in RC0 you get a slightly older version of SSMS (13.0.12000.59), as this was the version that was ready to be packaged into the ISO. in future releases, this will grab directly from the web with the version that is current at that moment.
Do not mix and match
You may have heard from a friend that it worked okay, and even some of Microsoft's own documentation implies that it's okay, but be careful. The current builds of SSMS - whether from CTP/RC media or from the separate, preview downloads - are very much betas, and are not guaranteed to be compatible with other versions of SSMS or shared components. If you want to play with this stuff, please do so on a separate VM or test system that you can afford to revert to an earlier snapshot or rebuild.
Okay, all set with the warnings? Let's walk through setup.
The first thing you'll likely see is a warning if, like me, you didn't set up a clean, separate VM for this installation (but really, do as I say, not as I do):
If that hasn't scared you off, click Yes. Next, you'll see a slightly different screen, with links to the license terms and privacy statement (which could point to dancing baby gifs or spoof sites trolling Oracle for all most people know):
Click Install. At this point, you'll be prompted by UAC (if you have UAC enabled; I try to disable it whenever possible):
Click Yes, and setup will start doing its thing:
This took about 10 minutes end-to-end on my machine; your mileage may vary. At the end, I was prompted to reboot. While probably not strictly necessary, I did anyway:
After restarting, I launched SSMS from the taskbar (it replaced my previous entry there); you may have to find it in your Start Menu or Start Screen depending on your version of Windows. The first thing I saw when doing so was a prompt about resetting my settings:
When I clicked okay (because what choice did I have?), I saw the shiny new splash screen:
Next, I got prompted to import my settings (which I did, from Making SSMS Pretty : My Dark Theme):
This did take a little bit to initialize:
Then I had an empty interface. I immediately went to Help > About to see version information:
You'll have 13.0.12000.59 if you install from setup
First, when I opened a new query window, I was greeted with a toolbar that seemed much busier than I ever remember (click to enlarge):
This is easy to fix, by going to Tools > Customize > Commands > Toolbar > and then deleting all the noise from both the "SQL Editor" and "Standard" toolbars:
In addition to removing the items I don't use (Debug was first to go!), I also moved some things around to be much more logical for my workflow. Ah, much better:
Next, I noticed a very distracting focus box around the current line of code I was editing:
Also, easy to fix, under Tools > Options > Text Editor > General, uncheck the "Highlight current line" option:
Now it looks better:
(I will confess I spent some time trying to find that styling in Tools > Options > Environment > Fonts and Colors. Hopefully this will save you some time. I also turned off "Track changes" on that same screen to prevent those yellow and green stripes from appearing at the left.)
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.