首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Server错误地更新没有备份的行

Server错误地更新没有备份的行
EN

Database Administration用户
提问于 2019-02-18 05:11:16
回答 2查看 1.5K关注 0票数 2

我昨天做了一个错误的UPDATE查询。数据库引擎是MSSQL,版本是2017年。

我没有备份。我只有数据库本身。您知道在触发该死的查询之前将我的修改重做一秒钟的方法吗?

此外,我尝试了事务日志,但是每次我想将数据库还原到意外的UPDATE之前,我都会遇到这样的消息: Server中的No packupset is selected。我认为这是因为我的TLog没有一段时间,因为我爸爸以前没有备份任何事务日志。

EN

回答 2

Database Administration用户

发布于 2019-02-18 09:22:38

免责声明请注意,这些步骤不完整,也不能保证您的数据库和/或数据的恢复。在你的具体情况下,请使用它们作为指导,并意识到许多未知的原因,可能导致完全的数据丢失。(第一步)第二步)可以在任何情况下使用进一步的额外步骤,可能需要带回您的数据。

欢迎来到DBA.SE。很遗憾听说你过得很不顺。

处理当前情况

如果启用了此数据库的完全恢复模型,请执行以下操作:

  1. 停止到数据库的所有事务/连接。现在!!
  2. 想想你接下来的步骤。
  3. 使数据库脱机,并复制*.MDF和*.LDF文件。
  4. 把数据库带回来。
  5. 使用选项WITH ... NO_TRUNCATE ...执行事务日志备份(TLOG备份)。这确保数据不会从TLOG中删除。只有在数据库以前已备份完全备份的情况下,此步骤才能工作。
  6. 使用初始的完全备份(步骤1之前)将数据库还原到不同数据库服务器上的时间点。和第二步的TLOG备份。时间应该在事故发生之前。
  7. 搜索修改后的数据。
  8. 提取数据。
  9. 确认数据正确后,将数据导入生产服务器。
  10. 让生产恢复正常。

如果您没有完全恢复模型中的数据库,那么现在更改它将不会产生任何影响。您将无法挽救这些数据,因为它可能已经提交到数据库中,并且在TLOG文件中不再可用。如果没有执行初始的完全备份,那么这些步骤将无法工作。

清理

  1. 跟管理层谈谈发生了什么事。
  2. 实施变更管理流程。
  3. 为数据库系统实现可靠的备份过程。

DBA贴士

这里有几个基本建议:

  1. 总是想着你的下一步。
  2. 在修改数据之前,请确保备份。
  3. 如果数据是重要的/生产性的,请确保启用了FULL恢复模型,并且正在执行事务日志备份。
  4. 只有在管理部门告诉您这样做之后,如果您有正式的更改请求已经被签署,那么只有在高效的环境中更改数据。
  5. 不要手动接触生产性数据,除非是在停机期间,并且您已经满足了1、2和3的要求。
票数 3
EN

Database Administration用户

发布于 2019-02-18 08:27:31

几年前我也有过类似的案子,但我删除了一些记录。我能够做一些应用程序来读取原始数据库文件并读出已删除的数据。大量的工作和大量的研究内容与一个十六进制编辑。我恢复了一切。因此,如果这真的很重要,您可以首先使用十六进制编辑器打开数据库文件(复制),如果可以找到丢失的数据,则必须找到丢失的数据,必须找到列和行的存储方式,并编写一个程序来读取它,并以某种方式存储数据。祝好运。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/230012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档