Who this is for: DBAs and T-SQL developers who keep seeing the GitHub Copilot badge in the corner of SSMS and want to know if it’s worth turning on, not just reading the feature announcement.
A colleague dropped a request in Slack last week: “can you get me top-selling products by quantity for the exec deck, need it in twenty minutes.” Normally that’s a two-minute query I write from memory against a schema I know cold. Instead I opened SSMS, clicked the GitHub Copilot badge in the corner I’d been ignoring for months, and typed the request into the chat window in plain English instead of SQL. That one query turned into a week of actually using Copilot in SSMS for real report requests, error triage, and a couple of blocking investigations, instead of the usual pattern of installing something, poking at it for five minutes, and forgetting it exists.
Why This Matters
GitHub Copilot in SSMS reached general availability for code completions and chat in SSMS 22.4.1 back in March 2026, and by the time I ran this, SSMS was up to 22.9.0. It’s easy to dismiss as another AI badge bolted onto a tool you already know how to use. But the pitch is specific: natural-language-to-T-SQL (NL2SQL) inside the chat window, schema-aware completions as you type, and an Agent mode that can work through a multi-step goal on its own. For a DBA, the honest question isn’t “can an LLM write SQL,” it’s whether it saves real time on the queries you actually get asked for, and whether it does anything dangerous in the process. Both questions only get answered by using it against a real database with real permissions, not a demo schema.
Getting it running
Copilot in SSMS requires SSMS 22 or later with the AI Assistance workload installed (add it through the Visual Studio Installer if it’s not already there), plus a GitHub account with Copilot access. I don’t have an org-wide Copilot Business seat, so I signed up for Copilot Free directly from the badge, which is enough to try chat, completions, and Agent mode without expensing anything. Setup was three clicks: badge in the top right, “Open Chat Window to Sign In,” then a browser tab to authorize the GitHub account. No SSMS restart, no separate extension to manage.
The one setting worth checking before you start is under Tools > Options > Text Editor > Inline Suggestions. By default every keystroke triggers a completion attempt, which got noisy fast on a table with a wide column list. I switched invocation to manual (Alt+. to trigger) after the second day, and turned on the “pause before showing” debounce so suggestions stopped flashing and disappearing while I was still typing.
What it actually got right
Back to that top-selling-products request. With a query editor connected to the reporting database, I typed into the chat window: “what are the top-selling products by quantity this quarter.” Copilot came back with a join across Sales.SalesOrderDetail and Production.Product, a date filter on the current quarter, and a GROUP BY/ORDER BY that matched how I’d have written it, complete with the schema-qualified table names it pulled from the connected database, not guessed generic ones. I hit Apply, it landed in the diff view in the editor, I reviewed it and tabbed it in. Genuinely faster than writing it myself, and closer to correct on the first try than I expected.
Comment-triggered completions were the other place it earned its keep. Typing a plain comment above an empty line:
-- list all tables in this database with their row counts
produced a working query against sys.dm_db_partition_stats joined to sys.tables, ghost-text suggested as a full block rather than a single line. It’s using the GPT-4.1 model specifically for completions right now (that’s the only model SSMS currently supports for this feature, whatever chat model you’ve picked separately), and it counted against my 2,000 free monthly completions on the Free plan, which I didn’t come close to burning through in a week of normal use.
The chat window also earned points on two things I didn’t expect to use much. First, asking “is there blocking in my database right now” gave a real answer built from an actual query against the DMVs, not a canned explanation of what blocking is. Second, I asked it to “visualize the relationships between tables in the Sales schema as a Mermaid diagram,” and it generated real Mermaid syntax I could preview and save, which beat manually sketching out foreign keys for a design doc.
Where This Requires Care
The most important thing I confirmed this week isn’t a rough edge, it’s a warning in Microsoft’s own docs that’s easy to skim past: Copilot Chat uses a classification system in Ask mode to decide whether a generated query is read-only before it executes it, and that classifier is explicitly not a security boundary. It’s a convenience filter, not access control. If you’re relying on “Copilot won’t run writes” to protect data, you’re relying on the wrong layer. The actual boundary is SQL Server’s own permission grants, which is exactly what it should be, but it means giving Copilot a login with broad write access and trusting the classifier to keep it safe is a mistake I’d rather flag now than after someone learns it the hard way.

Second, it executes queries under your login’s actual permissions, not some sandboxed context. I asked it to pull from a table I intentionally don’t have SELECT on, and it correctly failed rather than working around the restriction, which is the right behavior, but it’s worth testing on a low-privilege login before you hand this to a junior dev with more access than they need.
Third, accuracy dropped noticeably on anything that required evaluating or interpreting data rather than just retrieving it. Microsoft’s own limitations note flags this directly: Copilot can produce inaccurate results when the intent is to evaluate data, and I saw it firsthand when I asked it to characterize whether a table’s growth pattern looked anomalous. It gave a confident-sounding answer built on a query that only looked at the last seven days, silently, without mentioning the narrow window. Anything past “write me this query” needs a human reading the actual output, not just the summary Copilot hands back.
Agent mode, which shipped as a preview in SSMS 22.7, is the feature I trust least so far. It can take a high-level goal and work through it autonomously, executing queries and even modifying schema with approval. I tried it on a low-stakes task (add an index recommendation and validate it against a test workload) and it worked, but it’s explicitly still preview software, and “modify schema with your approval” is doing a lot of work in that sentence. I’m not pointing it at anything production until it’s out of preview.
One smaller annoyance: there’s no way to export a chat transcript. If Copilot walks you through a multi-step diagnosis you want to document for a postmortem, you’re copying it out manually, block by block.
Quick Reference
- Requires SSMS 22+ with the AI Assistance workload and a GitHub account with Copilot access; Copilot Free is enough to evaluate it (2,000 completions/month).
- NL2SQL in the chat window (schema-aware) and comment-triggered completions in the editor (GPT-4.1 model) were both genuinely faster than writing routine reporting queries by hand.
- The read-only classifier in Ask mode is a convenience filter, not a security boundary; enforce access with actual SQL Server permissions, not trust in Copilot’s judgment.
- Accuracy drops when you ask it to evaluate or interpret data rather than retrieve it; review anything past a straight query, especially silent assumptions like unstated date windows.
- Agent mode (preview, SSMS 22.7+) can execute queries and modify schema autonomously with approval; treat it as preview software and keep it off production for now.
- No chat export yet, so document anything worth keeping manually as you go.
My Take
I went into this week expecting a novelty that would fade back into the badge I ignore. It didn’t. For the boring, high-frequency part of the job, routine reporting queries, explaining an unfamiliar query someone else wrote, sketching a schema diagram for documentation, it earned a permanent spot in my workflow. What it hasn’t earned is trust for anything that requires judgment about the data itself, or for schema changes on a system I care about, and I don’t think that’s Copilot being immature so much as it being honest about what a classifier and a language model can and can’t verify. Use it to go faster on the T-SQL you already know how to write, keep reviewing everything it hands back, and don’t let Agent mode near production until preview comes off the label.






