3 sql data-recovery sql-server-2008
我们错误地对 SQL 表中的一个列运行了更新语句。我们没有表和数据库的备份。任何人都可以帮助我们在更新之前检索 Column 的值。
小智 11
我很抱歉地说你刚刚给自己上了一课。
有没有办法从其他来源重新获取数据,也许是历史日志文件?我们经常保留记录何时发生变化以及由谁更改的日志;这样的东西会帮助你找到某物的最后价值。
为了将来参考,当我编写 UPDATE 语句时,我总是先输入
UPDATE mytable SET qq=ww WHERE {where clause}
Run Code Online (Sandbox Code Playgroud)
也就是说,我从字面上键入“qq=ww”,这肯定是非法的,并在键入任何可以实际执行的内容之前键入实际的 WHERE 子句。我认为子句的倒序是 SQL 语言的设计错误。
小智 6
如果您仍然拥有当前的日志文件,则可以使用第 3 方工具恢复数据。在大多数情况下,UPDATE 语句会被完全记录。这里有一些工具可供寻找:
ApexSQL 的 Apex SQL 日志
RedGate 的 SQL 日志救援
如果您在没有备份的简单恢复模式下运行,那么运行您的 UPDATE 语句,然后进行备份,您将失去从当前日志中恢复的能力。在简单恢复模型中,当您进行备份时,日志文件会被截断。
| 归档时间: |
|
| 查看次数: |
301 次 |
| 最近记录: |