SQLSERVER 数据恢复.docx

上传人:b****6 文档编号:15432050 上传时间:2023-07-04 格式:DOCX 页数:16 大小:1.13MB
下载 相关 举报
SQLSERVER 数据恢复.docx_第1页
第1页 / 共16页
SQLSERVER 数据恢复.docx_第2页
第2页 / 共16页
SQLSERVER 数据恢复.docx_第3页
第3页 / 共16页
SQLSERVER 数据恢复.docx_第4页
第4页 / 共16页
SQLSERVER 数据恢复.docx_第5页
第5页 / 共16页
SQLSERVER 数据恢复.docx_第6页
第6页 / 共16页
SQLSERVER 数据恢复.docx_第7页
第7页 / 共16页
SQLSERVER 数据恢复.docx_第8页
第8页 / 共16页
SQLSERVER 数据恢复.docx_第9页
第9页 / 共16页
SQLSERVER 数据恢复.docx_第10页
第10页 / 共16页
SQLSERVER 数据恢复.docx_第11页
第11页 / 共16页
SQLSERVER 数据恢复.docx_第12页
第12页 / 共16页
SQLSERVER 数据恢复.docx_第13页
第13页 / 共16页
SQLSERVER 数据恢复.docx_第14页
第14页 / 共16页
SQLSERVER 数据恢复.docx_第15页
第15页 / 共16页
SQLSERVER 数据恢复.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SQLSERVER 数据恢复.docx

《SQLSERVER 数据恢复.docx》由会员分享,可在线阅读,更多相关《SQLSERVER 数据恢复.docx(16页珍藏版)》请在冰点文库上搜索。

SQLSERVER 数据恢复.docx

SQLSERVER数据恢复

数据库误操作数据恢复

 

还原出现问题,处于正在还原状态的取消命令在master数据库下执行

RESTOREDATABASE数据库名WITHRECOVERY

数据恢复备份有两种方法。

第一种从备份中恢复数据

1.总体操作步骤:

1.先停止服务以免新的数据进来。

造成恢复到以前的时间点后,新的数据无法恢复。

2.必须在出现问题之前做过完整备份。

3.在完整备份基础上做一次尾部日志备份。

4.还原事务日志,选择最后一次完整备份的数据库及尾部日志进行还原。

先还原的是数据库,再还原尾部日志,还原尾部日志时要选择还原到的时间点,最好精确到秒。

等待还原完成。

2.注意事项:

1.在做尾部日志恢复之前,曾经做过最少一次的完整备份。

因为所有类型的备份都基于完整备份,如果没有最少一次完整备份,其他类型的备份都是多余的,所以在这里强调一下,在创建完一个新数据库之后,强烈建议甚至强制做一次完整备份。

2.在出现操作失误之后不要做数据库的完整备份

------SQL------

1.查看那些数据库做过备份

SELECT  database_name,recovery_model,name   FROM msdb.dbo.backupset  

2.还原出现问题,处于正在还原状态的取消命令在master数据库下执行

RESTOREDATABASE数据库名WITHRECOVERY

3.具体操作方法

1)备份物理源文件

在出现操作失误之后不要做数据库的完整备份,先做MDF和LDF物理源文件备份。

将数据库文件复制一份保存。

2)备份日志尾部

选择要备份日志的数据库,右键选择任务-》备份。

在常规中备份类型选择【事物日志】

选择介质选项。

在可靠性中勾选【完成后验证备份】和【写入介质前检查校验】,在事务日志中勾选【备份日志尾部,并使数据库处于还原状态】

选择备份选项,在压缩选项中选压缩备份,确定备份

此时数据库会处于【正在还原状态】

如果发现备份不了可以用下面语句查看,并把spid杀掉后继续备份

---查询数据库ID

select*fromsys.databases

---查询数据库的连接

SELECT*FROMsys.sysprocessesWHEREdbid=数据库ID

---删除数据库连接

Kill(spid号)如:

kill33

3)还原完整备份

选择还原【文件和文件组】,在【常规】中选择完整备份的数据库,先要还原完整备份,选择最近的那次,由于日志备份的特性,只认最后一次备份,所以要选择最新的那次,否则还原不了。

在【选项】中选择恢复状态为【不对数据库扫行任何操作,不加回滚提交的事物,可以还原其他事物日志(A)】确定还原并成功。

 

4)还原日志文件

接着还原日志文件,这是最最重要的一步:

选择【任务】->还原】->【事务日志】

事物日志中选择完整备份时间后的所有事物日志。

在【时间点上】选择择需要还原的时间点

【选项】内选择【回滚未提交的事物。

还原完成

第二种从日志执行undo脚本恢复

1.安装软件并打开(图略)

安装软件ApexSQLLog

2.连接数据库

必须做过日志备份才会连接成功。

没有日志就是提示unknowrecoverymodel

3.选择日志备份文件

如果日志文件被移动需要手动添加日志文件,在未移动情况下,系统会自动搜索以前的所有数据库备份和备份日志文件。

选择误操作时间所在的数据库备份和日志文件,点【next】

4.设置查询日志的条件

选择第一个openresultsingrid设置查询日志的条件,设置好条件后点【FINISH】

1)timerange设置时间越精确越好。

2)Operations点开精确选择误操作命令。

3)Tables选择误操作的表。

4)fieldvalues设置误操作字段对应的值

5.读取并打开日志文件

等待打开日志,时间比较久,耐心等待。

6.选择误操作记录

打开日志文件之后可以看到操作记录,选中操作记录。

在下面的信息框中可以看到oldvalue和newvalue两列,后者就是误操作之后的值,需要还原到oldvalue的值。

7.导出undosql脚本

选中操作记录之后,在界面的操作栏有undo选项,点击undo导出一个undosql脚本,

8.执行undosql脚本

下面是undosql的脚本信息,将脚本复制到数据库操作软件,或者直接用数据库操作软件(SSMS)打开,选择要恢复的数据库,然后点击执行。

执行完undosql脚本之后,查询验证是否还原数据。

数据还原完成之后,开启相应的web服务。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2