Read more of this story at Slashdot.
Read more of this story at Slashdot.
Welcome to December and another release of SQL Server Management Studio (SSMS)! Today we released SSMS 22.1, which has a few improvements related to GitHub Copilot, as well as several fixes for both GitHub Copilot and SSMS.
Please visit the release notes for a full list of what's changed. For those of you looking to try out GitHub Copilot, we now have a walk through available that you can access from the Copilot badge (from the dropdown select GitHub Copilot Walkthrough). And for those of you are already using GitHub Copilot, we fixed that pesky issue of Run ValidateGeneratedTSQL showing up repeatedly, among a few other things.
While you're here, I'd like to take a moment to clear up some misconceptions about GitHub Copilot that I’ve seen floating around in blog posts and on social media. I'm covering these in a FAQ type format because I think it's easier (and faster) for folks to read. If you have specific questions, feel free to add a comment. If you want to see specific features in either SSMS or GitHub Copilot in SSMS, please create feedback items on the site (if you put a request in the comment, I’ll ask you to create it as a feedback item 😊). As always, please search first!
Does GitHub Copilot use my prompts and its responses to train or retrain models?
No. Understand that not all models are hosted by Microsoft, but those that are hosted elsewhere also make the same commitment. This is clearly stated in the GitHub doc covering model hosting and includes links to the hosting provider’s commitment statement.
Are prompts and responses encrypted?
Yes. We encourage all customers to visit the GitHub Copilot Trust Center to get answers to questions about privacy and security.
Can I see what queries GitHub Copilot executes?
Yes. Use Extended Events and filter on an Application Name of Microsoft SQL Server Management Studio – GitHub Copilot.
Can I use other models with GitHub Copilot?
Yes. Bring your own model (BYOM) is now available in SSMS 22.1 for personal subscriptions. You should use models that support tool calling.
Do I get the same answer from every model in GitHub Copilot?
No. The models available in GitHub Copilot in SSMS are available because they support tool calling, but they are different based on training, reasoning, temperature, and more. As such, responses to prompts can and will vary across models.
Can I attach an execution plan for GitHub Copilot to analyze?
Yes. Either open a saved plan, or after capturing a plan in SSMS (using Query > Include Actual Execution Plan), right-click on the plan and select Show Execution Plan in New Tab. With the query editor tab as the active tab, in the chat window use # to bring up the open document list. Select the execution plan from the list, then enter your prompt ("analyze the execution plan and make recommendations for improvements").
Can GitHub Copilot run destructive commands against my database?
Currently, no. As of this release (22.1) GitHub Copilot in SSMS only supports Ask mode, and all queries executed against your database are SELECT statements (read-only), as noted here.
We are planning to bring support for Agent mode to SSMS. With Agent mode, users will be able to allow GitHub Copilot to run queries on their behalf, but it will require them to approve query execution (read/write with approval).
All queries executed by GitHub Copilot execute in the context of the user that is connected, based on their permissions. If a user has permission to run destructive queries (e.g. DELETE, UPDATE, DROP, etc.) and approves the request from GitHub Copilot to execute a destructive query, then the query will run.
We recommend the following: Ensure users have appropriate permissions (principle of least privilege). This is a standard recommendation for any user that connects to a database. There are database roles available that allow reading of data and prevent modification of data.
What if I don’t want to allow Agent mode?
You can leverage administrative controls for GitHub Copilot to disable Agent mode, once it’s available in SSMS. Visual Studio, and thus SSMS, use Administrative Templates for Group Policies.
What if I don’t want to allow my users to use GitHub Copilot in SSMS?
Again, Administrative Templates are the answer. You can disable Copilot SKUs entirely, or for individual accounts.
Gemini 3 and NanoBananaPro accelerated Google's momentum and intensified competition with OpenAI. Vibecoding and agentic versus assisted AI debates intersected with politicization and major tech layoffs, reframing jobs and regulatory concerns. Enterprise focus shifted to ROI, context engineering, and vertical agent labs while DeepSeek, Runway, and AWS signaled renewed competition on models and infrastructure.
Brought to you by:
KPMG – Go to www.kpmg.us/ai to learn more about how KPMG can help you drive value with our AI solutions.
Vanta - Simplify compliance - https://vanta.com/nlw
The AI Daily Brief helps you understand the most important news and discussions in AI.
Subscribe to the podcast version of The AI Daily Brief wherever you listen: https://pod.link/1680633614
Get it ad free at
Join our Discord: https://bit.ly/aibreakdown
About the show
Sponsored by us! Support our work through:
Connect with the hosts
Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too.
Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it.
Michael #1: PEP 798: Unpacking in Comprehensions
Examples
[*it for it in its] # list with the concatenation of iterables in 'its'
{*it for it in its} # set with the union of iterables in 'its'
{**d for d in dicts} # dict with the combination of dicts in 'dicts'
(*it for it in its) # generator of the concatenation of iterables in 'its'
Also: The Steering Council is happy to unanimously accept “PEP 810, Explicit lazy imports”
Brian #2: Pandas 3.0.0rc0
df.assign(c = pd.col('a') + pd.col('b'))Michael #3: typos
Like codespell, typos checks for known misspellings instead of only allowing words from a dictionary. But typos has some extra features I really appreciate, like finding spelling mistakes inside snake_case or camelCase words. For example, if you have the line:
*connecton_string = "sqlite:///my.db"*
codespell won't find the misspelling, but typos will. It gave me the output:
*error: `connecton` should be `connection`, `connector`
╭▸ ./main.py:1:1 │1 │ connecton_string = "sqlite:///my.db"
╰╴━━━━━━━━━*
But the main advantage for me is that typos has an LSP that supports editor integrations like a VS Code extension. As far as I can tell, codespell doesn't support editor integration. (Note that the popular Code Spell Checker VS Code extension is an unrelated project that uses a traditional dictionary approach.)
For more on the differences between codespell and typos, here's a comparison table I found in the typos repo: https://github.com/crate-ci/typos/blob/master/docs/comparison.md
By the way, though it's not mentioned in the installation instructions, typos is published on PyPI and can be installed with uv tool install typos, for example. That said, I don't bother installing it, I just use the VS Code extension and run it as a pre-commit hook. (By the way, I'm using prek instead of pre-commit now; thanks for the tip on episode #448!) It looks like typos also publishes a GitHub action, though I haven't used it.
Brian #4: A couple testing topics
myproduct has user.py that uses the system builtin open() and we want to patch it:
@patch("builtins.open")
open() for the whole system@patch("myproduct.user.open")
open() for just the user.py file, which is what we wantcoverage.pyExtras
Brian:
Michael:
Joke: tabloid - A minimal programming language inspired by clickbait headlines
Once described on Reddit as “technically challenged”, Sarah is a Principal Security Advocate working at Microsoft. She has lived all over the place but currently calls Melbourne home.
Sarah has been working in cyber security since before it was cool, has previously spoken at many security conferences including Black Hat and has co-authored a few Microsoft Press technical books. She is an active supporter of security communities across the globe and a co-host of the Microsoft Azure Security Podcast.
Sarah spends most of her spare time gaming, taking part in Melbourne's official sport of brunching, taking high tea and spending a disproportionate amount of her income on her dogs.You can find Sarah on the following sites:
PLEASE SUBSCRIBE TO THE PODCAST
You can check out more episodes of Coffee and Open Source on https://www.coffeeandopensource.com
Coffee and Open Source is hosted by Isaac Levin
Modernization doesn’t have to be overwhelming. In this session, we’ll show you how to integrate the Agent Framework into your existing .NET projects to unlock advanced capabilities like multi-agent collaboration, memory persistence, and tool orchestration. Whether you’re modernizing enterprise apps or experimenting with AI agents, this talk will provide actionable steps and demos to get you started quickly
✅ Resources:
Learn more: https://aka.ms/agentic-modernization
Get started: https://aka.ms/AzureFreeTrialYT
Connect with .NET:
Blog: https://aka.ms/dotnet/blog
Twitter: https://aka.ms/dotnet/twitter
TikTok: https://aka.ms/dotnet/tiktok
Mastodon: https://aka.ms/dotnet/mastodon
LinkedIn: https://aka.ms/dotnet/linkedin
Facebook: https://aka.ms/dotnet/facebook
Docs: https://learn.microsoft.com/dotnet
Forums: https://aka.ms/dotnet/forums
🙋♀️Q&A: https://aka.ms/dotnet-qa
👨🎓Microsoft Learn: https://aka.ms/learndotnet
#dotnet