0
0

** 意図しないデータの削除経験(QiitaEngineerFesta2024)**

しくじりエンジニアとして、あるある(?)のデータ削除経験を投稿します。

・目次
1.事象
2.原因
3.解決方法
4.対策



1.事象

初歩的なミスですが、where文を付けずにdeleteを実行してしまいました。。。

・本来実行すべきクエリ

DELETE FROM [テーブル名] WHERE [カラム] = ''; --条件一致データのみ削除

・誤ったクエリ

DELETE FROM [テーブル名] ; --全件削除


2.原因

簡潔にまとめると確認不足ですが、詳しく原因分析を行います。

▼技術的要因
 ・バックアップの不足
 ・リカバリメカニズムの不備(トランザクションログの管理)

▼ヒューマンエラー
 ・確認不足
 ・誤ったSQLクエリ

▼プロセス・手順の問題
 ・手順の欠如



3.解決方法

バックアップを実行しておらず、自動コミット設定だった為データの復旧ができず、
1からデータを作り直しました。。



4.対策

▼技術的要因
 ・バックアップの不足
 →DBバックアップを定期的に行い、復元可能にする。
 また、復元手順を定期的に確認しておく。

 ・リカバリメカニズムの不備(トランザクションログの管理)
 →トランザクションログを管理、確認できるようにしログから復元可能な状態にする。
 →クエリ実行時にトランザクションを記録し、自動commitを使用しない。

▼ヒューマンエラー
 ・確認不足
 →事故意識の欠如。 改めて意識して作業を行う。

・誤ったSQLクエリ
→DELETE文作成、実行時の注意点を理解する。(WHERE文を先に書く、など。)

▼プロセス・手順の問題
 ・手順の欠如
  →DELETE、UPDATE等のデータ更新時は指差し確認を行なう。




以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0