【发布时间】:2010-11-07 02:56:56
【问题描述】:
是否可以使用 Transactionlog 文件为特定记录回滚事务?
我正在使用SQL Server 2005。
【问题讨论】:
是否可以使用 Transactionlog 文件为特定记录回滚事务?
我正在使用SQL Server 2005。
【问题讨论】:
本机,没有。不过,我相信有一些昂贵的第三方工具可以做到这一点。
或者,您可以从备份中恢复您的数据库,然后使用STOPAT = '6/30/2009 2:30PM' 参数将RESTORE LOGS 恢复到某个时间点。
有Apex 和SQL Log Rescue 可用。但是,如果您的日志未处于 FULL 恢复模式,那么如果您无法恢复,您可能会陷入困境。
【讨论】:
据我所知,您的选择是 ApexSQL Log(价格昂贵,但有免费试用版)或未记录的 SQL Server 命令,例如 DBCC Log 和 fn_dblog。
只有当您的数据库处于完全恢复模式时,其中的任何一个才会起作用,在这种情况下,SQL Server 会在事务日志中存储更多详细信息。
另外,我认为这不适用于任何类型的交易。我见过有人使用这种技术来恢复插入、更新、删除,但我很确定它是否可以用来恢复说 ALTER TABLE 或类似的东西。
【讨论】:
就第三方软件而言,您可以免费使用戴尔的Toad 软件三十天,并且它具有带有撤消脚本生成功能的事务日志。
【讨论】:
查看RedGate's LogRescue 产品。如果没有第 3 方产品,您可能只能在时间点恢复到单独的数据库,然后手动将记录复制回您的生产数据库。
【讨论】: