マルチユーザー環境でのデータ編集のロールバックを通常どのように処理しますか?トランザクションを識別し、後続の依存トランザクションのグラフを作成してから、それらをすべてロールバックしますか?ほとんどのRDBMSは、この種のことを行うためのインターフェイスまたはメカニズムを提供していますか?
私は素朴で、バックアップから復元することを考えましたが、これにより、潜在的に数十人のユーザーが無関係のレコードに加えた変更が元に戻されることに気付きました。編集/バックアップの時間と現在の時間の間。
マルチユーザー環境でのデータ編集のロールバックを通常どのように処理しますか?トランザクションを識別し、後続の依存トランザクションのグラフを作成してから、それらをすべてロールバックしますか?ほとんどのRDBMSは、この種のことを行うためのインターフェイスまたはメカニズムを提供していますか?
私は素朴で、バックアップから復元することを考えましたが、これにより、潜在的に数十人のユーザーが無関係のレコードに加えた変更が元に戻されることに気付きました。編集/バックアップの時間と現在の時間の間。
(SQL Serverに基づく)
通常、編集がBEGIN TRANSACTION ... COMMIT TRANSACTIONに含まれている場合、他のユーザーが同じデータを編集できないように、関連するテーブル/フィールドなどがロックされます。
トランザクションをロールバックしたり、ロールバックできるネストトランザクションを実行したりすることもできます。
多くは、ユーザーがデータベースのデータにアクセスする方法に依存します。