更新后回滚

时间:2015-01-01 06:56:20

标签: sql-server sql-server-2008-r2

我有一张包含一些记录的表格:

表格

create table test
(
   column1 varchar(10),
   column2 varchar(10),
   column3 varchar(10),
);

插入:

insert into test values('A','B','C');
insert into test values('E','F','G');
insert into test values('J','H','I');

更新

错误更新:

Update test
set column1 = 'XYZ';

上述语句更新了所有行。

实际更新:

Update test
set column1 = 'XYZ'
where column3 = 'I';

如何获取更新前可用的先前记录?

1 个答案:

答案 0 :(得分:1)

Restore to a Point in Time(当然,如果您的数据库使用FULL RECOVERY MODEL并且您有日志备份),或者如果您使用SIMPLE RECOVERY MODEL,您可以将数据库恢复到“靠近”的位置,并将受影响的表连接到当前数据库和已恢复数据库仅查找和恢复受影响的数据(因为当前数据库中的某些数据自UPDATE时起可能已经更改)