What happens when your AI coding agent starts a database on its own (building...
At the end of the previous article in my series on building an app and database almost entirely through an LLM, there was a functional WordPress plugin accessing my PostgreSQL database sitting on...
View ArticleShould your SQL Server database use foreign key constraints?
Foreign key constraints exist to stop bad data before it happens, yet plenty of production SQL Server databases run without them. Is that a reasonable trade-off or a ticking time bomb? Greg Low looks...
View ArticleHow a Microsoft-signed SQL Server stored procedure lets sysadmins bypass...
SQL injection inside Microsoft-signed system stored procedures is not supposed to happen. Yet, as I’ve been documenting in this series, it happens more often than you may assume. This article walks...
View ArticleHow to mirror data from SQL Server to Microsoft Fabric: complete guide
Mirroring in Microsoft Fabric is useful when you need to make SQL Server data available in Fabric. Perhaps in OneLake, for example, if you need to use the data for reporting, analytics, notebooks, or...
View ArticleLearning PostgreSQL with Grant: Preparing for the PostgreSQL certification
I want to be up front and honest: I suspect I’ll fail this. However, I’m going to try. I’m registered for it, so no backing out now. In this article, I’ll run through everything I’m doing to...
View ArticleSQL Server login failures: how to monitor, report, and alert on them...
Failed logins are one of the clearest early-warning signs of trouble on a SQL Server – whether that’s a misconfigured connection string, an expired password, or an actual unauthorized access attempt....
View ArticleWhy SQL Server’s default trigger execution model is a security flaw – and...
In my previous article, I described a privilege escalation scenario involving Azure Arc-enabled SQL Server and a database-level DDL trigger created by a database-scoped principal. This database-level...
View ArticleWhat is cloud database vendor lock-in? The 3 types explained (and how to...
Cloud database vendor lock-in is one of the most expensive surprises in enterprise infrastructure — not because the dependency is hidden, but because most teams never quantify it before committing to...
View Article9 things I wish SQL Server had (and why they’d matter)
Anyone who’s spent years writing T-SQL has a mental list of “why doesn’t SQL Server just do this already?” moments. Here are 9 of those from Louis Davidson’s perspective – a wish list of practical,...
View ArticleHow Azure Arc allows a DB admin to become SQL Server sysadmin – the...
Azure Arc-enabled SQL Server is designed to bring on-premises and multi-cloud SQL Server instances under centralized Azure management, but a newly documented privilege escalation technique shows how...
View ArticleJSON indexing in SQL Server 2025: how it works and current limitations
SQL Server 2025 finally gives developers a native JSON data type and, with it, a purpose-built way to index JSON documents with the new CREATE JSON INDEX statement. Before this, indexing JSON meant...
View ArticleHow to avoid nested REPLACE functions with TRANSLATE in SQL Server
If your T-SQL is buried under layers of nested REPLACE() calls just to swap out a few characters, there’s a simpler way. SQL Server’s TRANSLATE() function — introduced in 2017 but still rarely used —...
View Articlemsdb attack paths: how to secure SQL Server Agent, triggers, and restores
SQL Server DBAs routinely rely on automation: SQL Server Agent jobs, maintenance plans, refresh processes, restore scripts, replication cleanup, CDC operations, cross-database modules, and temporary...
View ArticleHow a SQL Server backup can execute attacker code during restore – and how to...
CVE-2026-47295 is a SQL Server vulnerability that lets a maliciously crafted database backup execute attacker-controlled code with sysadmin privileges during a routine RESTORE DATABASE operation. The...
View ArticleSQL Server index tuning: common mistakes and how to fix them
Indexes are supposed to make SQL Server faster – so why do so many databases end up slower, bloated, and harder to maintain when they have more of them? It usually comes down to misapplied indexes...
View ArticleHow to get clean, usable data out of SQL Server into Python
In the modern data landscape, most of the effort doesn’t go into building models or dashboards. It goes into getting the data into a usable state. Generally, a large portion of time is spent...
View ArticleHow SQL Server maintenance becomes an attack path – and what to do about it
This article takes one practical thread from Fabiano Amorim’s broader SQL Server security research: how apparently normal permissions and routine maintenance can become an attack path. The goal is not...
View ArticleWhat’s missing in T-SQL? My wish list of features that developers actually...
Edward Pollack recently wrote an excellent wish list for T-SQL features he’d like to see in an upcoming version of SQL Server. Now, it’s my turn. This article covers what I’d like to see the most....
View ArticleI let Copilot build my database. Here’s what I learned – and everything I’d...
I handed Microsoft Copilot the keys to design a PostgreSQL schema for Azure Database for PostgreSQL Flexible Server, with as little intervention from me as I could stand. What came back was a working...
View Article5 T-SQL features that should already exist (2026 SQL Server wish list)
SQL Server is one of the most mature database platforms in the world, but that doesn’t mean it’s finished. With T-SQL now spanning Fabric, Azure SQL Database, Synapse, and SQL Managed Instance, the...
View Article