The Case for Business Logic in Application Layers
This is the third post in the “Where Does Business Logic Live?” series, and it is the deliberate mirror image of the last one. In I made the strongest case I could for putting data-centric…
The Case for Business Logic in Stored Procedures
This is the second post in the “Where Does Business Logic Live?” series. In I laid out the terms of the debate and split “business logic” into five different kinds of logic that behave very…
Where Does Business Logic Live? A DBA’s Field Guide
Ask three experienced engineers where business logic belongs and you will get four answers, two raised voices, and at least one person quoting a blog post from 2008. I have sat on both sides of…
Where Does Business Logic Live? A DBA’s Guide to the Stored-Procedures-vs-Application-Layers Debate
Few architecture questions generate more heat and less light than this one: should business logic live inside SQL Server stored procedures, or outside the database in application layers? Ask a room of developers and DBAs…
DAG Failover Toolkit: Scripted Distributed AG Failovers with Validation Gates
In a previous post, we looked at how Distributed Availability Groups work, why the failover syntax says FORCE_FAILOVER_ALLOW_DATA_LOSS, and what a scripted runbook should cover. This post introduces the toolkit that puts all of that…
Idempotent Data Patches in SQL Server: A Change Tracking Pattern for DACPAC Deployments
If you deploy your SQL Server databases with SSDT or DACPACs via SqlPackage, you have probably run into this problem: the schema deployment is repeatable, but the data patches are not. SSDT handles CREATE TABLE,…