在SQL Server中恢复已删除的记录

我不小心删除了表中的一行并想要恢复它。我在这里找到了一个解决方案:如何在MS SQL服务器中恢复已删除的记录 我试图从删除后的备份恢复数据库。但我无法使用STOPAT选项恢复数据库:
RESTORE LOG database FROM  DISK = N'X:database.BAK' WITH
STOPAT = N'2011-02-12T00:00:00', RECOVERY
我有以下错误:
Msg 3117, Level 16, State 4, Line 1
The log or differential backup cannot be restored because no files are
ready to rollforward.
Msg 3013, Level 16, State 1, Line 1
RESTORE LOG is terminating abnormally.
    
已邀请:
  我试过从中恢复数据库   删除后备份。 您无法从删除后的备份中恢复已删除的记录。你需要: 删除前的最新完整备份 在上次完全备份之间进行的所有日志备份,直到删除后的第一次日志备份 数据库必须处于完全恢复模式 您可能会引入差异备份以减少日志备份链长度,但这是可选的。 只有满足上述所有条件,您才能继续按照程序进行操作。如果您错过了上述任何一项,则该记录将丢失。根据经验,不要关注博客文章或论坛答案,包括这一篇,请关注产品文档:如何:还原到某个时间点(Transact-SQL)     
如果您的数据库处于完全恢复模式,那么您可以尝试使用商业工具(如ApexSQL Log)或sql server命令(如DBCC LOG或fn_log)读取事务日志并从中恢复数据。 您也可以尝试查看这些帖子以获取更多详细信息: 如何撤消SQL Server 2005中的删除操作? 如何在SQL Server 2008中查看事务日志     
取自此链接 - 差异备份虽然仅包含自上次完整数据库备份以来更改的数据页,但只能与完全备份一起恢复,类似于使用日志备份。您无法仅还原单个表或对象,但可以在数据库,文件组,文件和页面级别进行还原。您还可以从任何备份恢复到特定时间点(假设您已恢复所需的先前完整,差异,日志)。 在这种情况下,最好的解决方案可能是使用不同的数据库名称还原数据库,然后只将所需的数据移动到现有数据库中?不确定这是否正是你想要实现的目标。     
是的,可以使用各种方法从SQL Server数据库中恢复已删除的记录,另一方面,这些方法需要不同的先决条件。其中一些涉及本机SQL Server功能,另一些涉及第三方工具。 无论如何,在某些情况下,即使您的数据库没有使用完全恢复模型,删除的数据也不会丢失。有关详细信息,请查看从备份中恢复已删除的SQL数据或从联机数据库文件联机文章。 免责声明:我在ApexSQL担任产品支持工程师     

要回复问题请先登录注册