庆阳天芯数据恢复中心
服务热线:18909349883
产品分类
热线:400-0934-119
电话:0934-8898288
传真:0934-8898288
Q Q:575619972
手机:189-0934-9883
网址:www.qyamsoft.com
地址:甘肃省庆阳市西峰区长庆南路恒美奥运康城
行业知识您现在的位置: 首页 > 行业知识 > 内容
​数据库恢复
编辑:庆阳天芯数据恢复中心   时间:2018-12-20

SQL Server 维护一组系统级数据库(称为“系统数据库”),这些数据库对于服务器实例的运行至关重要。每次进行大量更新后,都必须备份多个系统数据库。必须备份的系统数据库包括 msdb、master 和 model。如果有任何数据库在服务器实例上使用了复制,则还必须备份 distribution 系统数据库。备份这些系统数据库,就可以在发生系统故障(例如硬盘丢失)时还原和恢复 SQL Server 系统。

单用户启动实例

方法1:在配置管理器中,右键实例在启动参数中添加-m(注意是小写的m),重新启动服务,SQL数据库数据恢复处理完之后记得把-m参数去除重新启动服务。

方法2:在cmd中,使用net start mssqlserver /m,首先先停止所有相关的服务.

保持此窗口的情况下,数据库实例是无法进行连接登入的,所有出来完之后需要再次重启服务,重启的时候把/m参数去除。

方法3:在cmd中先定位到数据库安装目录“Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn”,输入sqlservr.exe –c –m,然后打开msms直接点新建查询使用管理员用户进入。

补充:配置管理员专用链接

运行输入cmd

输入Sqlcmd –A –S 127.0.0.1 或者Sqlcmd –A –S IP 或者Sqlcmd –A –S 机器名

通过新建查询连接

ADMIN:IP或者ADMIN:127.0.0.1或者ADMIN:机器名

常用查询语句

select * from sys.dm_exec_requests

SELECT * from sysprocesses

select * from sys.dm_os_memory_cache_counters

select * from sys.dm_exec_sessions

还原master数据库

还原master的数据库必须在单用户启动实例,然后使用管理员用户进行还原。这也是文章前面讲单用户启动实例的目的

使用方法1和方法3启动实例之后,不要用往常登入的方式登入SQL管理工具,而是之间点击新建查询或者点击文件菜单-新建-数据库引擎查询,然后输入管理员权限的用户进入,接下来就是还原数据库了,还原语句很简单例如:

RESTORE DATABASE [master] FROM DISK = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\master.bak'

GO

如果失败则加上WITH REPLACE

RESTORE DATABASE [master] FROM DISK = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\master.bak'

WITH REPLACE

方法2有一个要注意的地方就是,在单用户启动实例之后进入sqlcmd工具,执行use master之后每一步记得加上go,否则一直是光标闪动,还有方法2只能还原master数据库无法还原其他数据库。

还原完之后再以正常的方式重新启动服务就好。

注意:如果重新生成master数据库之后(这里的重新生成和还原备份是不一样的,如果是还原最新的备份是不用再重新还原msdb和model数据库),一定要重新还原msdb和model数据库。

还原msdb数据

还原 model 或 msdb 数据库与对用户数据库执行完整的数据库还原相同。不能还原用户正在访问的数据库。如果 SQL Server 代理正在运行,它可以访问msdb 数据库。因此,在还原 msdb 之前,请先停止 SQL Server 代理。

msdb数据库需要在单用户模式下进行还原,这里说的单用户跟前面的master的单用户启动实例不一样,这里的单用户只是获取msdb数据库的单独访问权限,所以可以用语句将数据库设置成单用户模式然后执行还原。

USE [master]

GO

ALTER DATABASE [msdb] SET SINGLE_USER WITH NO_WAIT

GO

RESTORE DATABASE [msdb] FROM DISK = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\msdb.bak'

ALTER DATABASE [msdb] SET MULTI_USER WITH NO_WAIT

还原model数据库

还原model数据库与还原用户数据库的方法一样,这里就不做介绍。

还原Resource数据库

这个系统数据库无法进行备份还原,只能对文件进行备份;2008r2版本的sql的数据文件和日志文件在“D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn”路径下。

备份还原复制数据库

复制支持将复制的数据库还原到从中创建备份的同一服务器和数据库。 如果将复制数据库的备份还原到其他服务器或数据库,则无法保留复制设置。 庆阳SQL数据库数据恢复中心在这种情况下,您必须在还原备份后重新创建所有发布和订阅(如果正在使用日志传送,则可以将复制数据库还原到备用服务器)。

应定期备份复制数据库及其关联系统数据库。 备份下列数据库:

发布服务器、分发服务器和所有订阅服务器上的 master 和 msdb 系统数据库。 当备份这些数据库中的一个数据库或相关的复制数据库时,应同时备份这些数据库。 例如,应在备份发布数据库的同时备份发布服务器上的 master 和 msdb 数据库。 如果还原发布数据库,请确保 master 和 msdb 数据库在复制配置和设置方面与发布数据库保持一致。

数据库恢复

成都聚意数据恢复中心

数据库恢复

故障类型

1

MDF/NDF/LDF损坏;

2

数据库文件删除、分区格式化;

3

数据库表删除或表记录删除。

典型特征

1

数据库在企业管理器中表现为“置疑”状态;

2

附加数据库后,做DBCC检测,报“并闩锁”错误;

3

附加数据库是提示“823错误”;

4

附加数据库提示日志错误;

5

客户部进行数据查询时报错;

6

数据库文件(MDF、NDF或LDF)丢失“置疑”状态;

7

数据库数据恢复至早期数据;

8

数据库无任何数据表或只有部份数据表;

数据库

检测流程

1、对丢失数据的介质进行全盘镜像备份,只对镜像操作,确保操作可逆,原盘不被破坏;

2、针对MDF/NDF/LDF损坏,通过“SQL SERVER数据库分析”软件检测MDF/NDF文件逻辑结构,判断数据库恢复的可能性。

3、针对数据库/数据表误删除或记录丢失,使用磁盘编辑器(winhex)对数据库或数据表进行分析,判断丢失的原因及是否有覆盖的情况。

恢复流程

针对MDF/NDF/LDF损坏的恢复流程

1、通过“SQL SERVER数据库恢复工具”对数据库进行附加;

2、如数据库文件可正常附加,再进行DBCC检测,确定数据损坏的程度及损坏的位置;

3、数据库提示“823错误”和“并闩锁错误”,极可能是数据库的“索引”页出错导致;如损坏的是“索引”页,则可以依据数据库内上下页衔接内容计算,从而手工修复损坏页;

4、如数据库损坏的是“数据”页,则需通过“SQL SERVER数据库恢复工具”对数据进行提取和重组。

针对数据库文件删除、分区格式化的恢复流程

1、分析原来的文件系统结构;

2、查找目录索引及文件索引信息;

3、如无法找到其文件索引,则通过MDF/NDF文件内部结构,编写脚本对全盘进行碎片分析;

4、碎片分析结束后,根据碎片的内容及特性重新组合,生成数据库文件;

5、附加数据库后,对数据库做完整的DBCC检测。

验收流程

1、对修复好的数据库文件进行附加;

2、附加后对数据库做DBCC检测;

3、对重要表进行数据查询,检验数据的更新日期。

4、对用户指定的关键数据进行针对性校验。

恢复的成功率&时间评估

1、数据库文件删除和分区格式化后,如没有写入数据,则恢复成功率可达95%或以上;

2、数据库文件删除和分区格式化后,如有再写入数据,对原数据造成覆盖,则恢复成功率通过检测后才能确定;

3、恢复时间根据故障难度、数据库容量及碎片多少而定,一般1-2天能完成.

数据安全科普

数据库出现故障的常见原因有:

1、数据库正在操作过程中,机器突然断电;

2、文件系统损坏,机器自动运行磁盘检测;

3、对数据库进行升级,SQL命令不严格;

4、人为操作错误。

避免数据库故障的提示

1、合水SQL数据库数据恢复中心对数据库进行任何操作时,请先做好原有数据的备份;

2、进行数据库还原时,请先做好备份再进行还原;

3、定期检测文件系统,以免运行磁盘检测删掉文件。

发现数据库损坏后,请及时对数据库进行全库冷备份,不要在没有备份的情况下对数据库进行任何修复操作,更不要往数据库所在分区写入数据,覆盖是导致无法恢复的主要原因。

技术支持: 众智捷网络 版权所有:庆阳天芯数据恢复中心手机版

庆阳数据恢复-硬盘数据恢复-硬盘数据恢复公司-数据库恢复-U盘数据恢复-移动硬盘数据恢复-固态硬盘数据恢复-数据恢复中心-SQL数据库数据恢复-SD卡数据恢复