Deployment Process

Stairway icons Database Deployments

Stairway to Reliable Database Deployments Level 4 – Preparing for Production Deployment

  • Stairway Step

This level examines how a rehearsed changeset is transformed into production-ready deployment artifacts. By consolidating scripts into controlled execution units and validating the resulting artifacts, the approach ensures that production deployment remains predictable and aligned with what was proven during rehearsal.

You rated this post out of 5. Change rating

2026-06-11 (first published: )

951 reads

Stairway icons Database Deployments

Stairway to Reliable Database Deployment Level 3 – Rehearsing Changesets Across Environments

  • Stairway Step

After defining the deployment contract in the previous level, this article focuses on validating a changeset before it reaches production. Rehearsal across environments ensures that execution order, rollback behavior, and baseline alignment all behave exactly as expected.

You rated this post out of 5. Change rating

2026-06-11 (first published: )

598 reads

Stairway icons Database Deployments

Designing Database Changes Before Deployment: Level 1 of the Stairway to Reliable Database Deployments

  • Stairway Step

Stairway to Reliable Database Deployments introduces a progressive approach to managing database changes with clear intent, predictable rollback, and explicit behavioral guarantees. Starting from change design and moving toward execution and coordination in complex environments, the Stairway provides a conceptual framework for deploying database changes safely and consistently, independent of specific tools or automation platforms.

(1)

You rated this post out of 5. Change rating

2026-06-11 (first published: )

1,616 reads

External Article

How do you develop and deploy your database?

  • Article

Could you spare 3 minutes to do us a quick favor? Redgate’s running this short survey on how our readers develop and deploy databases. It’s just 12 multiple choice questions, so if you’ve got a couple of minutes to spare, we’d love to hear from you.

2015-02-26 (first published: )

17,327 reads

SQLServerCentral Article

Fast Project Rollbacks

  • Article

When a project is completed, one of the next steps is to roll this project out to the production environment. However a good rollback process is important to ensure that you can remove those changes if there are problems. Longtime author David Poole talks about how he handles this.

(32)

You rated this post out of 5. Change rating

2008-10-22

3,981 reads

Blogs

How AgentDBA Diagnoses SQL Server Issues Fast

By

Not every production incident is a database in RECOVERY_PENDING or a corrupted event (like...

Five Ways Redshift Serverless Quietly Eats Your Budget

By

It is Friday, the queries are running, and nobody is watching the bill. That...

A Career of Memories

By

Annabel retired from Redgate Software this week. Across most of my career at Redgate,...

Read the latest Blogs

Forums

SQL Art, Part 4: Happy 4th of July — A British DBA's Guide to Celebrating a War We Don't Talk About

By Terry Jago

Comments posted to this topic are about the item SQL Art, Part 4: Happy...

BCA KCP Pulogadung Trade Centre Tlp:0817839777

By R4nt4u

WhatsApp: 0817839777 Kw. Industri Pulogadung, Jl. Raya Bekasi Km. 21, Ruko No.A2/18-19, RW.3, Wil,...

Alamat Kantor BCA KCP Klender Tlp:0817839777

By layanan_Bca88

WhatsApp: 0817839777 Jl. I Gusti Ngurah Rai No.8 A-B, RT.8/RW.6, Wil, Kec. Duren Sawit,...

Visit the forum

Question of the Day

Changing the Schema

I set up a few users on my SQL Server 2022 instance.

CREATE LOGIN User1 WITH PASSWORD = 'Demo12#1'
CREATE USER User1 FOR LOGIN User1
GO
CREATE LOGIN User2 WITH PASSWORD = 'Demo12#2'
CREATE USER User2 FOR LOGIN User2
GO
CREATE LOGIN User3 WITH PASSWORD = 'Demo12#3'
CREATE USER User3 FOR LOGIN User3
GO
I then created a schema that one of them owned. Under this schema, I added a table with some data.
CREATE SCHEMA MySchema AUTHORIZATION User1
GO
CREATE TABLE Myschema.MyTable(myid INT)
GO
INSERT MySchema.MyTable
(
    myid
)
VALUES
(1), (2), (3)
GO
SELECT * FROM MySchema.MyTable
GO
I granted rights and verified that User2 could access this table.
GRANT SELECT ON Myschema.MyTable TO User2
GO
SETUSER 'USER2'
GO
SELECT * FROM MySchema.MyTable
GO
This worked. Now, I move this schema to a new user.
ALTER AUTHORIZATION ON SCHEMA::Myschema TO User3;
GO
What happens with this code?
SETUSER 'USER2'
GO
SELECT * FROM MySchema.MyTable
GO

See possible answers