我刚刚从表
中删除了如何回滚或取消删除行?
答案 0 :(得分:7)
如果您在执行此操作前致电begin transaction
,但尚未拨打commit
,则可以致电rollback
,否则......您将不得不恢复1} p>
答案 1 :(得分:3)
假设您最近有数据库的完整备份,请立即备份您的事务日志,并将其还原到删除之前的某个时间点。如果从那时起已经更改了实时数据,您可能希望将其还原到其他数据库,并手动插入已删除的记录。
从内存来看,语法可能有点偏离 - 但你明白了:
BACKUP LOG DBName
TO DISK='C:\DBName.TRN'
GO
RESTORE DATABASE DBName2
FROM DISK='C:\DBName.BAK'
WITH
MOVE 'DBName.MDF' TO 'C:\DBName2.MDF',
MOVE 'DBName.LDF' TO 'C:\DBName2.LDF',
NORECOVERY
GO
RESTORE LOG DBName2
FROM DISK='C:\DBName.TRN'
WITH
RECOVERY,
STOPAT = '09/26/2008 17:00'
GO
答案 2 :(得分:2)
从备份恢复。
答案 3 :(得分:1)
假设你有钱,这就可以解决问题:http://www.lumigent.com/products/log_explorer.html
除此之外,备份和其他人一样说
答案 4 :(得分:0)
如果您使用begin tran开始删除,则只需使用rollback tran
如果没有,请开始寻找备份。
答案 5 :(得分:0)
rollback;
但是,只有你在交易中..
答案 6 :(得分:0)
我在没有备份的数据库上执行了一次,并且能够使用重放所有事务日志条目的实用程序来恢复数据。幸运的是,在我的情况下,我从未截断过事务日志。