Hey all! This is the final post in a series of three covering SQL Server Management Studio (SSMS), and we are happy to announce that SSMS 20 is now Generally Available (GA)!
There are two preview posts that we recommend you review if the news about SSMS 20 is new to you:
We also recommend that you review the release notes for SSMS 20 GA before you download and install it. There are important security changes, and a breaking connection change, in this release. We want folks to be thoughtful about migrating to this version of SSMS.
SSMS Roadmap
We expect that the first two posts, combined with the release notes and the new Connect with SQL Server Management Studio page, provide the details you need about the changes in SSMS 20 GA. As such, the focus of this post is the roadmap for SSMS. Our roadmap is heavily influenced by the evolving capabilities of SQL Server and Azure SQL, and feedback from SSMS users. We're currently collecting general feedback at https://aka.ms/sqlfeedback, and feedback on Copilot in SSMS at https://aka.ms/ssms-copilot-feedback. Please comment and upvote on items that you would like to see in SSMS!
Investing in SSMS
We’ll start with the question that we get asked most often. There have been multiple comments on social media along the lines of:
- “I’ve heard rumors that SSMS is deprecated.”
- “It seems like SSMS has been abandoned.”
Therefore, we would like to start by being very clear:
We are investing in SSMS. We do not have plans to deprecate or abandon SSMS. Previous releases of SSMS have included new functionality and bug fixes, which get documented in the release notes for every release.
A bit of history…prior to 2016, SSMS used to ship with the SQL Server installer, and updates were only available via SQL Server service packs. In the SQL Server 2016 release the SSMS installation was split out from the SQL Server installer. This allowed us to make more frequent updates, independent of SQL Server cumulative updates and service packs. At a high level, here’s a history of SSMS releases for the past few years:
Aligned SQL Server release | SSMS major release | Number of minor releases (and hotfixes) |
SQL Server 2016 | SSMS 16 | 11 |
SQL Server 2017 | SSMS 17 | 12 |
SQL Server 2019 | SSMS 18 | 19 |
SQL Server 2022 | SSMS 19 | 6 |
It is worth noting that SSMS 20 is the first major release that does not ship at the same time as a major SQL Server release; SSMS 21 will be the second. Both SSMS 20 and SSMS 21 are (and will be) aligned with SQL Server 2022, but also support earlier versions of SQL Server. The SSMS 21 release is now our primary focus. If there is a need for a minor release of SSMS 20, we will provide one, but changes will be few and tightly scoped.
Beyond the major improvements planned for SSMS 21, there are a series of smaller updates we'll make, based on Ideas from the feedback site that are highly upvoted and commented. There will be Preview releases, as we have had previously, so you can try the new release and provide feedback.
Support for 64-bit
The most significant engineering effort for SSMS 21 will be migrating to the Visual Studio 2022 shell. This work provides the opportunity for SSMS to pick up multiple improvements, both visually and in terms of functionality. One of the largest benefits is support for SSMS running as a 64-bit process, which folks have long requested because it maximizes the available compute resources. This means that any extension or add-in for SSMS will also have to update to 64-bit. Please don’t panic. We will have previews of SSMS 21 so folks can start working on those updates well before we GA.
Updated installation
We are overhauling the installation of SSMS, and changing from individual SSMS-Setup-LANG.exe files to a single installer. Within the installer you can select the language, and then subsequent updates to SSMS will occur within the application. The unified installer won’t require you to download another .exe file. Improving the installation and update process have also been a long-standing requests from the community, and we are excited to make them available in SSMS 21.
For folks in environments which are locked down, there will still be a method to acquire updates via download.
New connection dialog
SSMS 20 included a scoped set of updates to the connection dialog to support the new Encrypt option (Strict), and for SSMS 21 we’ll pick up our original plan to overhaul the connection experience entirely. Using the new connection dialog will be optional – if you prefer the current experience you can stick with it. But we have several updates planned including:
- Moving the database property to the front pane so it’s easier for Azure SQL users to configure their connection to connect to a specific database
- Adding the application intent property to the front pane to easily designate whether a connection is ReadWrite or ReadOnly
- Adding support for viewing and editing the connection string
- Introducing the ability to save connections, rather than having them persist in the Most Recently Used (MRU) list
In addition, we know there has been a lot of feedback related to passwords not always being saved (or being randomly forgotten) when Remember password is selected. While this has been an area of focus across several recent releases, the ability to store connections in the new connection experience provides the opportunity to rebuild the saved password experience in SSMS 21.
Startup time
With the SSMS 19.1 release we made some improvements in startup time, but it’s a frequent complaint from users. As we work through the changes for the new VS shell, we will also look for opportunities to decrease startup time even more.
Extension support
At present, SSMS does not officially support extensions, and our expectation is that we can change that with the new installer and shell. This likely will not occur with the initial release of SSMS 21. However, our plan is to fully support extensions and make existing components such as Analysis Services and Integration Services optional for installation. In addition, we’ll look to make the SQL Server Profiler for Analysis Services and Azure Data Studio optional installations as well, steadily working toward a more extensible model for SSMS with a smaller footprint for selected users.
For SSMS 20 we have removed Azure Data Studio from the installation. In addition to being a highly voted item (Make ADS An Optional Install Alongside SSMS · Community (azure.com)), this aligns with the future extension work for SSMS 21 and we decided to make the change in the current release.
Many folks use the term Profiler to collectively describe SQL Trace and SQL Server Profiler, and SQL Server Profiler for Analysis Services. As noted in the SQL Server Profiler documentation, SQL Trace and SQL Server Profiler are deprecated, and Extended Events is the replacement. However, SQL Server Profiler for Analysis Services workloads continues to be supported. Not every user of SSMS also uses Analysis Services, thus making Profiler an optional install is our plan.
Copilot
AI is everywhere, and SSMS won’t be left out. We are in the process of determining what a Copilot will look like in SSMS, and to that end, we are interested in understanding specific scenarios where Copilot would save you time and effort. You can provide specific examples in this Idea: https://aka.ms/ssms-copilot-feedback, and please upvote the item if Copilot in SSMS is something you’d like to see. As noted in the previous post, comments and votes are our currency when it comes to understanding what users would like to see.
What's not on the SSMS Roadmap
Astute readers will notice there are two topics we haven’t covered: dark mode and the debugger. As both are frequently asked about, we want to address them directly.
The debugger
The debugger was removed in 2019 with SSMS 18.0. We are very aware of the feedback item on the site, and we appreciate the value of the T-SQL debugger in certain circumstances. However, adding a debugger is not currently on the SSMS roadmap as improvements are required deeper in the SQL stack for it to be viable across all SQL offerings.
Use of the debugger requires DCOM to be enabled between the client and server, and the connection requires sa access, which means elevated permissions for folks that typically shouldn't have them. For on-prem environments, DCOM is not enabled anywhere. For SQL on a VM in Azure, DCOM is not there, and it’s not possible with Azure SQL.
Historically, on-prem connections or developer use cases are the most common scenarios, but as more SQL Server environments migrate to the cloud, and modern environments grow in number and size, the team made a practical choice in the SSMS 18.x release with the debugger technology to not continue it forward and rely on Visual Studio instead. We did work with the appropriate teams at Microsoft to ensure there is access to a free version of Visual Studio that includes the T-SQL debugger.
Dark Mode
With respect to dark mode in SSMS, also a frequent request from users, here’s a quick summary:
- As most users know, SSMS is based on the Visual Studio shell, and Visual Studio does offer a complete dark mode theme.
- Aside from the toolbar, menus, and the query editor, all windows and dialogs in SSMS are custom to SSMS. That includes Object Explorer, Registered Servers, query results, Table Designer, Query Designer, View Designer, every properties window, every New… dialog, the Extended Events UI, etc.
- If you enable dark mode in SSMS (it is technically possible, there are lots of blog posts that describe how to do it) you’ll see something like this:
- To implement dark mode (which is truly a theme), we must update code for every single window and dialog in SSMS, and in components such as SQL Server Profiler, Database Tuning Advisor, and so on. This is not a trivial endeavor. The work to enable dark mode would require de-prioritizing other features and functionality.
- We will review, as part of the shell update for SSMS 21, the engineering effort to implement dark mode. We only commit to a review at this point.
Now what?
If you haven’t read the previous two posts, or the release notes for SSMS 20, please do so before you download and install SSMS 20.
If you are interested in seeing smaller improvements, not listed in this post, review the last post to understand how we prioritize requests, then head over to the feedback site.
And finally, for any questions not addressed by this series of posts, leave a comment below and we’ll follow up. Thanks for reading!