SQL Server データベース ロールバック方法【簡単解説】
SQL Serverにおいて、データベースをロールバックする方法は以下の通りです。
- 例えば、トランザクションを開始およびロールバックするためにBEGIN TRANSACTIONおよびROLLBACK TRANSACTIONステートメントを使用します。
 
BEGIN TRANSACTION;
-- 执行一系列的操作
IF @@ERROR <> 0
BEGIN
    ROLLBACK TRANSACTION;
    PRINT '事务回滚成功';
END
ELSE
BEGIN
    COMMIT TRANSACTION;
    PRINT '事务提交成功';
END
- SAVEPOINTを使用して保存点を作成し、必要に応じてその保存点にロールバックするROLLBACK TOステートメントを使用します。例:
 
BEGIN TRANSACTION;
-- 执行一系列的操作
SAVE TRANSACTION SavePoint1;
-- 执行另一系列的操作
IF @@ERROR <> 0
BEGIN
    ROLLBACK TRANSACTION SavePoint1;
    PRINT '回滚到保存点成功';
END
ELSE
BEGIN
    COMMIT TRANSACTION;
    PRINT '事务提交成功';
END
- データベースを以前の状態に戻すためには、トランザクションログのバックアップとリストアを使用します。まず、BACKUP LOGステートメントでデータベースのトランザクションログをバックアップし、その後、RESTORE LOGステートメントでバックアップしたトランザクションログにデータベースをリストアします。例えば:
 
BACKUP LOG [数据库名] TO DISK = '路径\备份文件名.trn';
-- 回滚到备份的事务日志
RESTORE LOG [数据库名] FROM DISK = '路径\备份文件名.trn' WITH STOPBEFOREMARK = '标记名称';
これらの方法は、データベースのロールバック操作を実現するのに役立ちます。使用する前に、各メソッドの使用シナリオと注意事項をよく理解してください。