msdb 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 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 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 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 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 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 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 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 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 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 Article