Today we shipped SQL Server Management Studio (SSMS) 22.7.0, and this is one of the bigger releases we've had in a while. The headline items are we’ve introduced a “What’s New” page, SQL formatting (preview), schema compare (preview), Agent Mode for GitHub Copilot in SSMS (preview), and a new execution context for GitHub Copilot. There's also continued investment in Database DevOps and a solid round of bug fixes. Thank you, as always, for taking the time to log issues and upvote what matters. It really does shape what we work on.
Let's dig in.
Introducing the "What's New" page
When you update to 22.7, you’ll see something new: an in-product “What’s New” page that showcases our top features and fixes in the release. It’s a short, abbreviated summary that gives you the chance to quickly skim and understand the highlights of the release. This page automatically appears the first time you open SSMS after updating. Once you close it, it won’t show again the next time you launch SSMS. You’ll only see it again after a future update. If, at any time, you want to see the What’s New page again, you can go to Help > What’s New.
The "What's new" page loads when you launch SSMS for the first time after an update.Let us know what you think about it – I’ve created a suggestion ticket on Developer Community for folks to leave thoughts. If you encounter a bug with the page itself (something not loading, broken links, etc.) please open a separate Developer Community ticket so our engineering team can triage and investigate it properly.
T-SQL formatting in the query editor (preview)
If you’re one of the hundreds of SSMS users who has been asking (and patiently waiting) for T-SQL formatting capabilities, I am very happy to report that as of today, this feature is available in preview! This functionality has been built into the core SSMS experience, no workloads or components required. To get started, simply right-click any query editor window and find the Format SQL menu item.
The formatter supports a range of options that let you control how your SQL is styled. You can configure keyword casing (uppercase, lowercase, or PascalCase), indentation size, semicolons after statements, and how clauses like FROM, WHERE, and JOIN are broken across lines. Alignment options let you line up clause bodies, column definitions, and SET clause items for a clean, readable layout. Multi-line list options control whether SELECT columns, WHERE predicates, and INSERT values each get their own line.
From the query editor, right-click to bring up the context menu with the new "Format SQL" option.We're continuing to expand the available options, and we encourage you to file feedback if there's a formatting behavior you'd like to see. The SQL formatting functionality in SSMS is built on top of the open-source .NET library for T-SQL parsing, ScriptDOM, also known as SqlScriptDOM. Get to know ScriptDOM in its GitHub repository, where the GitHub issues system can be used to discuss ideas and challenges encountered. Pull requests are welcome!
Learn more in the SQL formatter documentation.
GitHub Copilot in SSMS
Agent mode (preview)
GitHub Copilot capabilities have expanded significantly in this release with the introduction of Agent mode. Currently in preview, Agent mode allows you to offload complex, multi-step tasks to Copilot. Where Ask mode helps with quick answers, Agent mode helps you solve problems. Agent mode acts, with your approval, reducing your operational effort.
Agent mode is available in the mode picker, in the bottom left of the chat window. In the bottom right of the chat window you’ll find options for tools and skills, and you can use the plus icon to add a specific skill (listed under MCP resources) to the chat as context.
GitHub Copilot in SSMS Agent mode (preview).
Agent mode doesn’t inherit connection context from Object Explorer or the active editor, so it’s recommended to specify your database and/or server in the prompt to reduce ambiguity (e.g., the WideWorldImporters database on the SQL 2025 instance is slow, can you help me figure out what's going on?). With your prompt submitted, you remain in control through tool approvals – giving you the opportunity to review and approve (or reject) any queries executed on your behalf. Further, Agent mode operates as READ_ONLY by default to give you the opportunity to get comfortable with how it works in a database environment. Use Agent mode for investigation, analysis, and assessment, and extend its capabilities by creating your own skills. Check out the documentation and our YouTube playlist for examples and scenarios.
Copilot execution context
Perhaps more important than making Agent mode available, we introduced the ability to configure the execution context for GitHub Copilot - a feature that has been requested every session and in feedback items. We’ll have more details in tomorrow’s blog post, but for those of you that want to restrict what GitHub Copilot can access, this is your solution. The execution context is configured per database, using the CONSTITUTION.md for the database (as an extended property). Within the frontmatter (a metadata block at the top of a Markdown file) of the CONSTITUTION.md, you specify a database user or SQL login as the agentExecuteAsUser. When GitHub Copilot connects to your database, it reads the CONSTITUTION.md for the database, and if it sees the agentExecuteAsUser specified, all queries are executed under the context of the user or login. This configuration applies to both Ask and Agent mode.
Database DevOps (preview) updates, including schema compare (preview)
Earlier this year we introduced SQL projects in SSMS via the Database DevOps workload. This release, we’re expanding the available capabilities with graphical schema compare (preview) and SQLCMD variable support in the publish dialog. I won’t say too much more, because Drew has an entire blog post dedicated to these features, but I hope these features supercharge your experience in SSMS and give you back some time.
Other improvements and bug fixes
The full list is in the release notes, but a few that I expect folks will be happy to see:
- Azure SQL Managed Instance — Added support for creating a new login using your Windows domain account directly from SSMS. Small change, frequently requested, and it removes a workflow that previously required dropping into scripts.
- Command Line — Fixed an issue where the Connect to Server dialog still appeared even when both -S and -d were provided alongside a filename. See Unable to skip the Connect dialog, even with -S and -d parameters, if you pass as filename.
- Connection — Selecting Activity Monitor (Ctrl+Alt+A) from the toolbar no longer opens the legacy connection dialog when no Object Explorer connection is active. See If there is no open connection on object explorer and I click Activity Monitor (Ctrl+alt+A) from toolbar, it opens the old connect to server dialog.
- Object Explorer — Pressing F2 on a schema-qualified object and then clicking away no longer warns about unsaved name changes when nothing actually changed. See Object Explorer rename on Schema Database objects – warns on out of focus after F2 with no name change.
- Results Grid — The Save Results As dialog no longer filters All files as *.txt. See Results Grid "Save Results As" dialog filters "All files" as *.txt.
- Settings — Debug-only settings errors are no longer displayed in the Output window. See SQL Server Management Studio 22 versions later than 22.2.1.
- Query Hint Recommendation Tool — The Do not consider combinations of hints label is now theme-compliant.
In summary
As always, thank you for using SSMS, for the feedback items, the upvotes, the comments, and the patience as we keep iterating. With Agent mode, the new execution context for Copilot, schema compare, and SQL formatting all landing in the same release, there's a lot to try in 22.7 - please tell us how it goes.