1. ホーム
  2. database

[解決済み] ライブデータベースで気をつけるべきことNo.1とは?[クローズド]

2023-08-09 06:25:26

質問

私は顧客のために、彼らが自分で作った問題を修正するため、あるいは私の製品のバグによって作られた悪いデータを修正するために、彼らのライブデータベースで作業することがあります。 Unix のルート アクセスと同じで、とにかく危険です。 前もってどのような教訓を得るべきでしょうか?

ライブデータでの操作について、1番気をつけていることは何ですか?

どのように解決するのですか?

私が長年にわたって苦労して学んだ3つのこと...

まず、生きているデータに対して更新や削除を行う場合、最初に使用するWHERE句を含むSELECTクエリを書きます。それが動作することを確認します。それが正しいことを確認します。次に、UPDATE/DELETEステートメントを、動作が確認されているWHERE句の前に追加します。

を決して持ちたくはないでしょう。

DELETE FROM Customers

クエリ アナライザで WHERE 節を書くのを待っているときに、誤って "execute" を押してしまい、Customer テーブルを消してしまったのです。おっと。

また、プラットフォームによっては、テーブルのバックアップをすばやく簡単に取る方法を見つけることができます。SQL Server 2005 の場合。

SELECT *
INTO CustomerBackup200810032034
FROM Customer

は、Customer テーブル全体からすべての行を CustomerBackup200810032034 という新しいテーブルにコピーし、更新を行い、すべてが問題ないことを確認したら削除することができます。最悪の事態が発生した場合、ディスクやテープから昨夜のバックアップを復元するよりも、このテーブルから失われたデータを復元する方がずっと簡単です。

最後に、カスケード削除によって、削除するつもりのないものが削除されることに注意してください。何かを変更する前に、テーブルの関係とキー制約を確認してください。