Copilot in SSMS is Kinda Like IE in SSMS
You are not ready for how weird my take is.
Last week at the PASS Summit conference in Seattle, Microsoft showed off the upcoming SQL Server Management Studio v21.
One of the most intriguing features is that it has Copilot built in.
No, not Github Copilot, that’s a different thing. No, not the Copilot in Visual Studio, either. No, not the Copilot that’s in the Azure portal either. SSMS Copilot is yet another version of the same basic concept: a text box where you can ask questions, and AI uses contextual awareness of your database and your query window in order to answer those questions. I don’t just like this feature, I adore it, because I already use AI every single day to get my job done. (This blog post is AI-free, as most of my posts are, but I use it for all kinds of stuff like T-SQL code review and refactoring.)
The Microsoft staff demoing SSMS Copilot at Summit (Erin Stellato, Bob Ward, Anna Hoffman) were very quick to point out its limitations:
- It’s in very, very early preview
- The functionality is incredibly limited so far – it can’t even read real-world query plans due to context size issues
- The output, like any LLM output, is prone to errors and hallucinations – the output of all of the demos I saw had serious issues for production usage
- It sends your database schema/config/queries to the cloud – but they’re very clear about not keeping or using any of it for training, and in the future, you may be able to use your own LLM endpoints on-premises
- It’s going to take at least a couple previews before it’s publicly accessible, which means at least 6 months away
- It doesn’t actually read the error messages and results that come back from the queries it generates
And that last part is where the wheels come off.
To understand the problem,
we gotta revisit history.
Remember when Books Online first came out? Of course you don’t, dear reader, because you’re young and attractive. But being one of the olds, let me tell you how it went.
We used to get the documentation in printed format, and then Microsoft began distributing it in electronic form as part of the installer. You could just hit F1, and browse the documentation in SSMS. Later, the documentation moved into HTML, and later still, the primary home for the documentation became Microsoft’s web site. Some users were horrified when they’d hit F1, and a browser built into SSMS would take them to Microsoft’s web site to see the most recent version of the documentation.
Eventually, people just stopped using F1, and they used Google. The limited browser built into SSMS was garbage, and it didn’t support the kinds of stuff modern users wanted to do, like view documentation sites that require Javascript, like Stack Overflow.
The web browser is still there in SSMS, but I can’t remember the last time I used it. It’s just too limited. And that’s what the problem is going to be with Copilot in SSMS.
The SSMS Copilot demos made it glaringly obvious.
The demos consisted of:
- Open the Copilot window in SSMS
- Type something into it
- Copy a query from the Copilot window into the SSMS editor
- Run the query
- Get an error or results
- Go back to step 2, copying the error, results, or clarifications back over into the Copilot window, and keep the cycle going
Which, uh, is exactly what you can do with ChatGPT and other LLMs today, and I’ve been doing for months. You don’t have to wait. Go get started now. You can pick other LLMs if you like, including local ones if you’re paranoid about sending your company’s database schema and queries up to the cloud. You can use the latest and greatest cutting edge LLM models, way beyond what SSMS Copilot supports. You can send query plans up there for analysis.
Copilot in SSMS, when it eventually ships, is going to lag far behind – just like SSMS’s web browser does.
Oh sure, SSMS Copilot absolutely does have some advantages over copy/pasting stuff into ChatGPT, like automatically picking out which tables & indexes are relevant to your question, and running diagnostic queries on your server to fetch the metadata on that table or index. But those advantages seemed so small to me, especially given how long it’s going to take to get that product live – compared to just getting started right now with ChatGPT or your LLM of choice.
Don’t get me wrong: Copilot in SSMS is still a good idea, Just like Books Online distributed via local HTML files was a good idea way back when. It was a stepping stone, and Microsoft had to do it at the time, just like they have to put AI in all their developer tooling today. I just don’t think it’s the final AI product that we’re all going to settle on.
So what could be better?
Here’s my prototype for a version of SSMS that includes AI:

I can hear your confused voice from here: “Wait, Brent, that looks just like today’s version of SSMS. You type what you want in the top pane, hit execute, and what you want comes out of the bottom pane.”
Exactly!
Why should users have to jump back and forth between two different input areas? Just type what you want!
- If you type T-SQL, SSMS executes it against the database in question. If your query has an error, the AI reads the error, and tries to suggest changes to your query to get it right. If your query takes too long, AI suggests improvements to make it go faster.
- If you type plain English that asks for data, the AI’s natural language to SQL capabilities fire up and write a query for you. This isn’t new: Microsoft’s demoed it already, but in the Azure Portal, a tool that makes no sense for data analysts to use.
- If you ask for advice on your database, the AI runs diagnostic queries on your database, just like the Copilot demos we saw at Summit, and the results and advice appear in the Messages tab, with supporting evidence in the Results tab.
That simple, intuitive approach is harder to build in 2025. It’s much easier for Microsoft to ship Copilot as a separate SSMS extension, duct taped into a separate tab, and force users to copy/paste stuff back and forth between different text boxes and result sets. Copilot will even catch on temporarily in 2025-2026, just as the SSMS browser did, and you will definitely see me using it.
I’m just excited and looking forward to whatever comes next to replace it.
Related

Hi! I’m Brent Ozar.
I make Microsoft SQL Server go faster. I love teaching, travel, cars, and laughing. I’m based out of Las Vegas. He/him. I teach SQL Server training classes, or if you haven’t got time for the pain, I’m available for consulting too.
Get Free SQL Stuff
"*" indicates required fields

21 Comments. Leave new
It’s good to know that CoPilot is coming to SSMS eventually. I have been using Bing CoPilot for a few months now and I’m starting to get the hang of writing useful prompts. Just like Googling my T-SQL questions, it is a black art to get the combination of words to get the response you’re looking for. It will always be iterative whether you use a conventional search engine, or an AI tool. The question becomes HOW iterative? The fewer prompts to get to my endpoint the better.
SSMS Help menu, Set Help Preference, Launch in Browser. Opens the highlighted SQL command reference in SQL online docs using your default browser instead of the ancient Help Viewer. I use this regularly for those thrice-a-year commands I don’t remember the details of*. Depending on what’s highlighted, it sometimes has trouble finding a topic, but that’s no different than the Help Viewer.
As for CoPilot integration in SSMS, I have the same trepidation as you about using the results in production. If it’s built/trained on the Internet at large, it becomes just another way of repeating the same mistakes from copying bas Stack Overflow answers. Ideally, the LLM would be “curated” by the MS SQL team, but I’m not sure how feasible that is.
*For PIVOT, I ended up creating a template of the SQL from the docs and my own comments and saving is a custom code snippet. Now I can just paste it into any query window using the keyboard shortcuts when I need it.
I wonder if they have finally fixed that part in the tree view in SSMS where you want to click on Tables but there’s another option right next to it I was always clicking by mistake that basically you can head out for a snack it takes so long to populate.
My guess is this is still the behavior today
If you’re talking about Database Diagrams, yeah, that was removed several years ago. You can go back to the buffet, grandpa. 😉
The node “Diagrams” is still there but I recall that it started Diagram generation automatically when you tried to expand it. That feauture is gone and replaced by Right click / Create Database Diagram.
It sounds like vendors like Redgate are already ahead of the game, and now MS wants to grab a piece of that (understandably so). SQLPrompt+ has been in EAP for a few months now. I would imagine that it’ll take a few generations before either company gets past the delays and processing when you send a relatively complex question along with your schema and wait for a response.
Great article Brent, I appreciate your upcoming feature reviews. I think you hit the nail on the head with this statement near the end.
“That simple, intuitive approach is harder to build in 2025.”
Harder…for Microsoft anyway.
It’s almost 2025 and Microsoft still hasn’t figured out that they should stop and think through a new feature before shoehorning in a half-baked version of a feature.
Especially with AI, it would be better to integrate it more seamlessly in order to have a larger adoption rate.
Other companies offering AI capabilities have either waited until they got it (closer to) right or also learned the hard way getting it wrong.
Not to mention the security concerns around giving Microsoft AI access to queries or execution plans…
That being said, I’m excited to see what new things AI can offer a DBA both in and outside of SSMS and will definitely give this a try.
I hear you, but I do think it’s fair that Microsoft start to build SOMETHING. After all, we’re talking about SSMS, something that had very little development effort for years. I’m glad to get any development time invested to make the tool better.
Hi Brent
I am pretty scary about this feature, what is someone asks to return a lot of the data and moreover without the filter… No, I am not there yet..
They did mention that during a demo, actually! In development, they’re monitoring the queries that Copilot runs, using Extended Events, trying to make sure users can’t do anything too crazy. I’m sure it’ll still present problems on unusual environments with, say, 10,000 tables.
MS can’t do ssms intellisense right for what like two decades? Yeah let’s put clippy in it!
What scares me with copilot integration the most is that we are going to get dumper next generation of SSMS users. When you get into the habbit of trusting what the copilot says you stop thinking with your own brain. It is not that big of an issue for experienced users who have skills to do the things well without the copilot, but imagine the new generation that starts learning T-SQL after copilot exists. Sure hell the copilot would do thing better than the novices — which pretty much is circular conclusion. Because copiot does things better than novices, the novices do not get better than the copilot. The scary part in here is that fact that this conclusion is true pretty much regardless how bad the copilot would be.
Your comment would hold a lot more weight if you could spell “dumber” correctly, I’m just saying. 😉
[…] Brent Ozar shares some thoughts: […]
“It doesn’t actually read the error messages and results that come back from the queries it generates”.
“Why should users have to jump back and forth between two different input areas? ”
In my opinion Microsoft itself is getting paranoid about AI. Separating the input area is the only way to keep your data secure inside SQL Server. Microsoft doesn’t want the AI to have direct access to your data.
Am I paranoid enough, Brent?
The nice thing about SSMS 21 is that it’s built on the Visual Studio shell, so I would expect that before long, a lot of extensions that are usable in VS and VS Code will be ported to SSMS. Like GitHub Copilot for example.
[…] topic was what’s coming in SQL Server Management Studio 21. We talked about blog posts from Brent Ozar, Reitse Eskens, and Vlad Drumea. Along the way, I outed myself as a Light Mode beacon of […]
[…] genuinely excited for that. We’re already seeing the earliest hints of it with things like SSMS Copilot and AWS DMS, but don’t let the sketchy quality of the early stuff scare you away from it […]
Well put! Separate chat window is not that much more helpful.
Using Cursor IDE has worked decently for me for cookie cutter code but it’s not a database focused IDE and so it’s missing many features I need and also has hallucinations and overrides intellisense. Working on multi-database servers, these copilots fail horribly. Oftentimes, I return to using SQLPrompt’s intellisense to work faster.
This seems ripe for disruption – especially one that automatically learns from database schema and procs (for how joins work). I see an LLM fine tuned one’s codebase as the best solution.
fyi – datagrip supposedly can look at query plans and can fix errors like you mention. (not tested personally)
https://www.jetbrains.com/datagrip/features/ai/
@Brent – do you have an example of how you use an LLM for tsql code development? I would love to see it.
Not free/public, no – I use it over at SmartPostgres.com regularly during the live streams, so the early access members can watch me use it over there.