【发布时间】:2011-10-03 07:52:58
【问题描述】:
一个脚本使用以下查询意外地从数据库中删除了几行:
DELETE FROM that_table WHERE id IN (100, 101, 102)
同时添加了更多行。有没有办法让我将三行恢复到同一个表(或者可能是另一个数据库/表)中?我不想恢复数据库,就好像这意味着我丢失了在该查询之后添加/更新的所有数据。手动输入缺失的行是一种选择。
【问题讨论】:
-
用另一个名字恢复数据库,然后用跨数据库查询复制数据。
-
@rb。我有一个在删除之前创建的备份,所以 (i) 我该怎么做 (ii) 是否安全;我的意思是有任何陷阱吗?
-
由于您需要第二次恢复整个数据(使用不同的名称),您需要额外的磁盘空间 - 但这就是全部......
-
关于陷阱 - 取决于你的技能(这里是 BIT gotcha)、你的计划有多好(另一个大问题)以及应用程序有多复杂 - 有时应用程序会内置一些陷阱。
-
@marc_s:数据库约为 4GB,我有 1.2TB 可用空间,所以我没问题,对吧?
标签: sql-server sql-server-2000 data-recovery