sql 2005回滚事务
时间:2020-03-06 14:48:27 来源:igfitidea点击:
我只是从表中删除
如何回滚或者取消删除行?
解决方案
从备份还原。
如果我们在执行此操作之前先调用了"开始交易",但尚未调用"提交",则可以调用"回滚",否则...我们将不得不恢复
如果我们以开始tran开头删除操作,则只需使用rollback tran
如果没有,请开始寻找备份。
rollback;
但是只有在我们进行交易时..
我在没有备份的数据库上执行了一次此操作,并且能够使用重放所有事务日志条目的实用程序来恢复数据。幸运的是,在我的情况下,我从未截断过事务日志。
假设我们有钱,这将达到目的:http://www.lumigent.com/products/log_explorer.html
除此之外,备份就像其他人一样
假设我们最近对数据库进行了完整备份,请立即备份事务日志,并将其还原到删除之前的某个时间点。如果此后有实时数据发生更改,则可能需要将其还原到其他数据库,然后手动插入已删除的记录。
从内存来看,语法可能会有些许偏离,但我们会明白:
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