Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

クリティカルなデータを安全に更新する方法

既に運用されているシステムのデータの手修正は絶対にミスが許されない作業です。今回はそんな状況でも安全にデータを変更する方法を紹介します。

クエリ

変更のクエリと変更確認のクエリを書きます。そして最後にロールバックします。

BEGIN TRAN

SELECT Age AS CurrentAge FROM Customer WHERE Name = 'Nakamura'

UPDATE
    Customer
SET
    Age = 21
WHERE
    Name = 'Nakamura'

SELECT Age AS UpdatedAge FROM Customer WHERE Name = 'Nakamura'

ROLLBACK

試行

変更後の結果を目視し、問題ないことを確認します。

変更

最後のROLLBACKをCOMMITに変えて、再度クエリを実行します。
これで安全にデータを変更することができます。