
New Official Documentation on Forced Parameterization
I love me some documentation. For years, I’ve pointed folks to the SQL Server 2008 documentation on Forced Parameterization, a really useful tool for reducing plan cache bloat, getting more accurate reusable query plans, and enabling SQL Server 2019 an …

Why database ownership is so fragmented in 2026 – and what you can do about it
In today’s cloud-driven, multi-platform environments, answering the simple question – who owns that database? – is no longer straightforward. As teams adopt open-source tools and spin up cloud services on demand, ownership is becoming fragmented across …
It’s Our Anniversary! Let’s Have a Sale!
Way back in May 2002, I posted my first blog post here. I didn’t know what it would eventually become, but I just wanted to stake out a place online where I could write stuff, put it into a database, and have that database serve my stuff out to other p …

How DataOps principles help to reduce GenAI risk and improve data quality
John Kerski explains how DataOps principles improve trust, quality, and governance when using GenAI in data solutions. Includes John’s advice on how to apply these principles – plus tips for Git, testing, Microsoft Fabric, and more. Over the past three …
“We want to archive, but we still want to query the data.”
At least once a month, I get this question from a client: We have big data, and we want to save money. We want to move the older data down to some kind of archives that will cost us less. I ask exactly one followup question: Are you willing to modify t …

Why COALESCE might be the most useful SQL function you’re not using right
In SQL, handling missing or NULL values is essential for reliable data analysis and application logic. The SQL COALESCE function provides a simple, standard way to return the first available (non-NULL) value from a list -making it a go-to tool for clea …

Free SQL Server Spring Training on Performance Tuning
Times and tech are changing quickly. Let’s get you up to speed on the latest developments to do your work more quickly with a series of free live webcasts. How to Tune Indexes Faster – May 12 & 18 – Brent Ozar will show you how to use the latest fe …

Who’s Hiring Database People? May 2026 Edition
Is your company hiring for a database position as of May 2026? Do you wanna work with the kinds of people who read this blog? Let’s make a love connection. If your company is hiring, leave a comment. The rules: Your comment must include the job title, …
What are managed identities in SQL Server 2025? A complete guide
Learn how managed identities in SQL Server 2025 enhance security by eliminating passwords and enabling seamless Microsoft Entra authentication for Azure resources. Those who have worked with SQL Server will understand the need to avoid storing password …

Free Webcast: Fixing Parameter Sniffing with Index Tuning
When a query is sometimes fast and sometimes slow, there are a lot of ways you can reduce the effects of parameter sniffing. We’re always going to have parameter sniffing in SQL Server and Azure SQL DB – it’s just the way the product is built – but the …

What is chunking, and how does it apply to vectors in SQL Server 2025?
In this article, Greg Low explains what chunking is, why it matters for embeddings, and how SQL Server 2025 enables efficient AI-powered vector search. If you’ve started to work with vector databases and looked at using text embeddings for AI search, y …

So You Wanna Build an App
I get a lot of emails like this: Hi! I built an app. Can you take a look at it, give me your feedback, and then help get the word out to your readers? No. I wish I could, but no. But this happens so often that I wanna write a blog post explaining the p …

How to get 80% of GPT-4’s value for 20% of the cost (5 tips for reducing AI spend)
AI model costs can explode fast – and overpaying is common. The reality is, you don’t need GPT-4 for most business tasks like customer support, summarization, or data extraction. Switching to smaller AI models, smart routing, and techniques like RAG, c …

You Can’t Trust “Edit Query Text” in SSMS’s Execution Plans.
When there are IF branches or conditional logic, “Edit Query Text” only shows you the branches that actually executed. It’s easy to miss whole swaths of code that didn’t happen to execute one particular time. To demo it, let’s create a simple stored pr …

What is fillfactor in PostgreSQL – and when should you adjust it?
fillfactor in PostgreSQL controls how full table or index pages are. The lower the fillfactor, the better the performance on update-heavy tables. In this article, learn everything you need to know about fillfactor in PostgreSQL – from what it is, to ex …

