sql
server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:
1.
至少有一个误删除之前的数据库完全备份。
2.
数据库的恢复模式(recovery
mode)是“完整(full)”。
针对这两个前提条件,会有三种情况:
情况一、如果这两个前提条件都存在,通过sql语句只需三步就能恢复(参考文章),无需借助第三方工具。
a)
备份当前数据库的事务日志:backup
log
[数据库名]
to
disk=
n'备份文件名'
with
norecovery
b)
恢复一个误删除之前的完全备份:restore
database
[数据库名]
from
disk
=
n'完全备份文件名'
with
norecovery,
replace
c)
将数据库恢复至误删除之前的时间点:restore
log
[数据库]
from
disk
=
n'第一步的日志备份文件名'
with
stopat
=
n'误删除之前的时间点'
,
recovery
情况二、如果第1个前提条件不存在,第2个前提条件存在,需要借助第三方工具。
情况三、如果第2个前提条件不存在,无法恢复。所以,一定要将数据库恢复模式设置为“完整(full)”。
我现在面临的是第二种情况,需要找第三方工具。
开始找的是log
explorer
for
sql
server,不支持sql
server
2008。
后来找的是sql
log
rescue,也不支持sql
server
2008。
接着找到的是systools
sql
recovery,支持sql
server
2008,但需要购买,demo版并没有数据恢复功能。
最终在officerecovery.com上找到recovery
for
sql
server,虽然也是商业软件,需要购买,但demo版可以恢复数据,只要数据库文件不超过24gb。幸好朋友的数据库文件不大,用它完成了误删除数据的恢复。
下面分享一下用recovery
for
sql
server进行恢复的操作步骤:
1.
运行recovery
for
sql
server
2.
点击菜单中的
file
>
recover,选择要恢复的数据库的数据文件(.mdf)
3.
next
>
next,进入
recovery
configuration
界面,选择custom(选择了custom才可以选择从日志中恢复误删除的数据)。
4.
next
进入
recovery
options
窗口,选中
search
for
deleted
records,并选择要恢复的数据库的日志文件路径(log
file
path)。
5.
next
并选择目标文件夹(destination
folder),用于存放恢复过程中生成的sql语句与bat文件。
6.
点击start,开始恢复操作(在上一步选择的目标文件夹中生成相应的sql文件与bat文件),然后,出现
sql
server
database
creation
utility
窗口。
7.
next,选择被恢复数据存放的目标数据库。
8.
next,
选择
import
availiable
data
from
both
database
and
log
files
9.
next,
next,
然后就完成数据的恢复!
2. plsql异常关闭后恢复sql
恢复未保存sql的步骤如下:
1、执行ctrl+esql执行找到历史记录。
2、再次打开plsql恢复文件检测可以恢复。
3. SQL数据库里的表误删除要怎么恢复
1、实现运行Recovery for SQL Server操作如下。
4. sql恢复修改前数据
1、首先运行Recovery for SQL Server。
5. 如何在SQL Server中恢复数据
在SQL server 中恢复数据的几种办法 自然就是 backup 的 恢复方法 backup 这种方法是最安全 最可靠的方法操作起来也很简单 只要在 sql server 的 enterprise manager中选择 restore 就可以了 用T SQL 也可以完成 RESTORE DATABASE test FROM DISK = c:mssql ackup est bak 当然这是用的 文件恢复 如果是 设备恢复 自然也是可以的 可是有的时候 SQL server 是在我们毫无准备的情况下瘫痪的 有的时候是伴随者 NT 的瘫痪而引起的 (这个时候 豆腐想 墙上 Gates 的画像有仍了几个 西红柿) 怎么办呢?这个时候就只有采用 sql server 的 t sql 中提供的系统存储过程了 sp_atach_db 在这里举一个简单的例子 sp_attach_db @dbname = N pubs @filename = N c:mssql datapubs mdf @filename = N c:mssql datapubs_log ldf 这种方法应该说是有很高的成功率的 不过在 实践中 豆腐听说 这样后 数据库成为只读的 那也没有办法了 如果只有 mdf 没有 ldf 文件的话 可以使用 sp_attach_single_file sp_attach_single_file_db @dbname = pubs @physname = c:mssql datapubs mdf 这个方法本来是 用来 对 sp_deatach 的操作的反操作 不过直接使用也还是可以成功的 lishixin/Article/program/SQLServer/201311/22066
6. 数据库被删除了怎么恢复
恢复步骤:
1、运行EasyRecovery。
2、选择“DeletedRecovery”。
3、选择数据库文件所在的驱动器,在“File Filter”中输入*.mdf|*.ldf,选择“Next”。
4、在左侧窗口会列出被删除的数据库文件,选择所要恢复的数据库文件,选择“Next”。
5、在“Recover to Local Drive”中选择恢复后的文件存放的路径,要选择与原数据库文件不同的路径,选择“Next”。
6、文件被恢复后,将恢复的文件复制到原数据库文件位置,并在企业管理器通过附加数据库,将恢复的文件恢复到SQL Server中。
注:如果删除的数据库文件所有的存储区域被写过了,就无法恢复了,所以删除与恢复的时间间隔越短越好。
7. 如何还原sql数据库
1、要进行还原数据库操作我们先需要有一个数据库,这里直接打开SQL Server Management Studio,然后打开实例,在左侧按照下图中红色箭头指示右键点击数据库,然后点击 新建数据库,如下图:
8. 如何修复SQL数据库置疑 修复SQL数据库置疑方法
1、在实际的操作中由于突然断电或者突然断网造成数据库置疑(在企业管理器中数据库后面出现置疑两个字),下面我们通过以下方法来进行修复置疑的数据库。
2、我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager里面建立。
3、停掉数据库服务器。
4、将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。
5、启动数据库服务器。此时会看到数据库test的状态为“置疑”。这时候不能对此数据库进行任何操作。
6、设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。也可以使用如下语句来实现。