数据库已经成为目前企业的命脉,DBA的职责就是防止数据库瘫痪,造成数据丢失,或者说在出问题的情况下以最快速度解决问题,使服务器正常运行。备份与还原就是一项关键的步骤了,在我们讲述关于尾部还原和master数据库的还原之前,来一起看一下关于SQL server 2005备份还原的一些选项。
      同样的,做一系列备份之前必须完成一次完整备份,完整备份包括对整个数据库,部分事务日志,数据库结构和文件结构的备份,只是这一时刻的。做完完整备份之后,可以选择差异备份或者事务日志备份,对相应以后新生成的数据或者日志进行备份。
      在还原的时候,会有简单恢复模式,完整恢复模式,大容量日志恢复模式三种选择,如果有大量的数据产生,我们一般会选择大容量事务日志进行操作。
      这些就是关于SQL server 2005一些备份和还原的选项,那么我们是如何实现SQL server 2005尾部还原的呢?也就是说,当我们进行完整备份之后,在没有下一次备份之前数据库损坏,如何还原这之间的数据呢?
      本次内容我们还是通过动易网站来结合实际操作,创建好网站之后进行备份,之后在网站内写入一些文章或者创建用户等信息。
clip_p_w_picpath002
这篇test的文章并没有备份,那么当网站的数据库宕掉之后如何还原,我们首先关掉服务,删除网站的数据库,模拟数据库文件损坏。
clip_p_w_picpath004
在默认目录下找到数据库,注意删除的是MDF格式的数据库文件不是日志文件。
冲动服务打开数据库,发现数据库里已经没有东西了。
clip_p_w_picpath005
右键msater数据库,选择备份。
clip_p_w_picpath007
注意这里是通过事务日志进行还原,所以备份一次网站的数据库并选择事务日志模式。在左边的选项卡中选择选项。
clip_p_w_picpath009
在事务日志选项选择备份日志尾部,并使数据库处于还原状态。确定之后可以看到我们的数据库显示正在还原。
clip_p_w_picpath011
这时候右键数据库选择还原。
clip_p_w_picpath013
在选项中需要选中覆盖现有数据库。确定之后我们就可以完成了尾部的还原。
那么当master数据库损坏的时候,我们根本连接不到数据库时,如何进行修复呢?同样的关掉服务之后删除master数据库文件,再重新启动服务。
clip_p_w_picpath015
重新启动服务之后发现根本启动不起来,显示如此错误。
发生这样的错误之后,我们将SQL server 2005的光盘放在光驱中做修复还原。放入之后打开CMD命令行,进入光驱目录下。
clip_p_w_picpath017
输入这条命令进行重新生成master数据库。当C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data这个目录下重新出现master数据文件后,再开始做下面的内容。
clip_p_w_picpath019
键入之后到C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn目录下,执行sqlservr.exe -c -m命令进入单用户模式。
下来打开数据库管理器,让输入用户密码的界面我们选择取消,然后点击新建查询,再次连接。
clip_p_w_picpath021
在新建查询中键入语句。
clip_p_w_picpath023
      在查询命令中键入上述语句之后,就完成了恢复,关闭之后启动服务就可以正常运作了。这里将上述命令复制到文本中,以免图片看不清楚。
use master
go
RESTORE DATABASE master
FROM disk='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\master.bak'
with REPLACE
Go
这样我们就实现了当Master 数据库宕掉之后进行恢复的操作。