怎样备份最安全——也谈数据库备份与恢复

软件世界

  很多企业都在使用企业信息化软件,而这些软件都离不开数据库的支持。当一个数据库管理人员面对一个已经拥有大量数据的数据库时,他最担心的问题就是:如何在数据库服务器出现故障甚至崩溃的时候,在最短时间内将所有的数据恢复原状,尽量减少损失。

  虽然几乎所有的系统软件本身都提供了备份和恢复功能,同时数据库管理系统也提供了备份和恢复功能。不过在使用这些功能的时候都需要一些条件,而且这些功能也不能保证你可以完全地恢复数据库中的数据。

  作为一个数据库管理人员,笔者的观点是:原始的才是最安全的。下面就以SQL Server为例给大家介绍两种备份与恢复方法。

  一、直接复制单个数据库的相关文件

  分析

  对于SQL Server中的数据库来说,“数据”是由两个文件组成的,一个是数据文件,一个是日志文件。我们只要将这两个文件单独复制出来。在SQL Server出现问题后再复制回去,那么所有的数据就可以恢复了。

  操作步骤

  假设有一个叫jk的数据库,它所对应的文件分别是位于“Microsoft SQL Server\MSSQL\Data”目录下的jk.mdf和ji.ldf,前者是数据文件,后者是日志文件。则应用这种方法的具体操作步骤如下:

  1.打开SQL Server的“企业管理器”,找到jk数据库,右击它,在出现的菜单中选择“所有任务→分离数据库”。

  2.在出现的分离窗口中点击“确定”,随后系统会告诉你分离成功。

  3.现在转到“Microsoft SQL Serv er\MSSQL\Data”目录下,将jk.mdf和ji.ldf文件复制到其他位置,如果有刻录机,建议将文件刻录到光盘中。

  提示:在SQL Server运行的时候,如果直接复制相关数据库对应的文件,系统将提示我们此数据库正在使用,无法复制。除了上面分离数据库的解决方法之外,还有一种解决方法是将SQL Server服务管理器停掉,再复制相关的文件。停掉的方法是右击系统图标中的SQL Server数据库图标,选择“停止”,然后就可以进行复制操作了。

  4.返回“企业管理器”,右击服务器下的“数据库”项,在出现的菜单中选择“所有任务→附加数据库”,在出现的“附加数据库”窗口中选择“Mi crosoft SQL Server\MSSQL\Data”中的jk.mdf文件,然后点击“确定”。随后你就可以看见jk数据库又出现在“企业管理器”中了,此时它又可以继续为系统软件提供服务,并接受新的数据。

  5.当数据库完全崩溃的时候,只要将原“Microsoft SQL Server\ MSSQL\Data”中jk.mdf和jk.ldf文件删除,再将光盘中的这两个文件复制到正确的位置,然后使用“附加数据库”的方法,就可以将数据库恢复到进行复制前的状态了。

  二、复制整个数据库

  分析

  前面提到的方法是在单个数据库崩溃时的恢复方法,如果你的运气实在太差,或者你的系统软件需要使用多个数据库,那么上面的方法可能就不能解决问题了。比如你的系统软件需要向master数据库中写入数据,但是master数据库是不能被分离的。又假设黑客将数据库服务器给格式化了,或者数据服务器的磁盘全部坏掉,需要更换新的磁盘,那么第一种方法就失效了。这时我们可以使用下面的方法。

  操作步骤

  1.在数据库正常运行时,关闭SQL Server的服务,然后将“Microsoft SQL Server\MSSQL”中的Data文件夹复制到另一个位置。

  2.在磁盘坏掉后,先更换磁盘,然后重新安装SQL Server。

  提示:这里一定要注意,新安装的SQL Server中服务器名字、用户登录方法、连接端口一定要和原来的设置一样,否则SQL Server将无法启动。

  3. 安装完后,关闭SQL Server服务,将新的“Microsoft SQL Serv er\MSSQL”目录中的data文件夹删除,再将以前保存的data的文件夹复制到这里即可将数据库恢复到原来的状态。

  至此,朋友们已经知道“原始的才是最安全的”这句话的含义了吧?只要各位掌握了这两种方法,那么对于数据库恢复就一定会信心百倍。

  提示:最后要提醒大家的是,在使用这两种方法时由于要关闭数据库服务,这时数据库将无法响应企业系统软件的数据请求,所以我们必须在企业员工没有使用数据库时才可以进行操作。笔者的做法是在每周的一个固定时间关闭数据库服务,如星期六晚上10:00,并将这一固定时间通知所有员工,这样既能让数据库防患于未然,也不会影响企业的正常运转。