Add Databases to CI With Production Database Clones

DevOps involves source control and automated application builds with binaries as immutable artifacts for a repeatable DevOps process. Updating SQL Server databases, however, is not accomplished so simply and must be upgraded in place. Current SQL DevOps practices involve building a development database with schema and objects and static data for functional testing. The “development database” is succeeded by a “production like” database for later stages and ultimately, upgraded scripts are applied to production. This approach is complex and breaks the principle of working with unchanging artifacts throughout the DevOps process.

Fortunately, a simpler approach with production database clones and SQL Server containers delivers simplicity, horizontal scalability, and economy. Production database clones are delivered in seconds with immutable writable replicas of production for higher fidelity releases. Full disclosure: I am a principal at Windocks where we focus on SQL Server containers and database cloning, but these same approaches should work with storage array cloning with Bash or other scripting.