Putting the Contract Under CI/CD: Database Deployments You Can Trust
So far in this series the database has a published interface (the ) and a read surface that you keep stable even when an wants to bind straight to your tables. Both of those are…
Reads Are Part of the Contract: A DBA’s Guide to ORM-Generated SQL
In I argued that the database is a published interface, and that the way to keep it changeable is to draw a boundary: a small, deliberate set of views and procedures is the contract, and…
Your Database Is an API: Treating the Schema as a Versioned Contract
A developer renames a column. The rename is clean, the build is green, the unit tests pass, and the pull request merges on a Tuesday afternoon. On Thursday a finance report that nobody on the…
Performance Counters Over Time: Making sys.dm_os_performance_counters Tell the Truth
Run this query on any SQL Server and look at the number it gives you for Batch Requests/sec:
|
1 2 3 4 5 6 7 |
SELECT [counter_name] , [cntr_value] FROM [sys].[dm_os_performance_counters] WHERE [counter_name] = N'Batch Requests/sec'; |
On a server that has been up for a few weeks you will get something like…
I Called Myself Dumb in a Code Comment. I Was Wrong About the Cursor.
I went looking through an old reconciliation script this week, the kind you write once for a quarter-end reconciliation and forget about, and I found a note from my past self. Right above a cursor,…
Is Your SQL Server Using RC4 for Kerberos? Here’s How to Find Out
You probably haven’t thought about Kerberos encryption types recently. That’s fair; the protocol mostly “just works” and has for decades. But CVE-2026-20833 changed the calculus. Microsoft disclosed a Kerberos information disclosure vulnerability in January 2026…