用VB备份和恢复SQLServer数据库的方法

        对于关键应用的数据库学习应根据具体环境和条件制订一个完善可行确保系统安全的备份计划,没有备份的系统是不可靠、危险的,后果将是严重的,破坏性病毒、误操作、自然灾害等等都可能会对数据库系统造成难以估量的破坏。尤其对一个信息化程度较高的企业来说,最有价值的财产或许就是企业数据库中的数据。一个系统中最重要的是大量的实时数据,没有备份功能显然是不安全和不完善的。经过实践摸索出Visual Basic 6.0开发的备份程序,能将数据库备份到Access数据库(Access 为目前流行的桌面型数据库产品, 具有存储操作灵活、便利等优点, 并且因它与SQL Server 同属微软数据库产品, 二者能很好地兼容)中,并对Access数据库进行加密以防数据被非法访问。该程序还能用Access备份库的数据恢复SQL Server数据库,从而减少因误操作损坏数据内容而造成的损失。使用该方法,用户不须添加额外设备,只须在原有服务器上运行该备份程序,其界面简单方便,适合普通用户使用。

  备份与恢复概述

  备份是数据库管理员定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。常用的数据备份类型有:完全备份、差异备份、事务日志备份、文件或文件组备份。一个通用的备份策略是:以较长的时间间隔执行完全备份,以适中的时间间隔进行差异备份,并以较短的时间间隔进行事务日志备份。当数据遭到破坏后就可以利用备份来恢复数据库。恢复数据库是一个装载数据库的备份,然后应用事务日志重建的过程。一个通用的恢复策略是:首先恢复完全备份的数据,然后恢复差异备份数据,最后根据事务日志备份进行恢复。

  1、备份方案

  开发所需软件:Visual Basic 6.0 Access备份程序的设计方法:

  (1)用控制面版的ODBC设置,给SQL Server中的数据库添加一个数据源名称。

  (2)在Access中新建一个数据库,命名为backup.mdb

  (3)用VB定义两个主要过程:Attach_Table()和Create_Table()。Attach_Table的作用是将SQL Server数据库中的所有需要备份的表链接到Access数据库中,在此过程中要排除系统表,因为那是SQL Server自创建的,表中无用户数据。Create_Table的作用是在backup.mdb中创建目的表,即在这个备份Access库中创建表用来保存所有存在SQL数据库中的用户数据。另外,在链接过程中,要去掉SQL Server自带的拥有者名称。

  2、程序的逻辑结构

  ①通过第一步创建的ODBC数据源打开要备份的SQL数据库;

  ②使用Attach_Table()将该数据库中的所有用户表链接到backup.mdb中,排除系统表的方法是:

For Each tdf in backup_db.TableDefs

 If (tdf.attributes And dbSystemObject)=0 Then

  //条件成立,说明该表是用户定义的表,可以链接,否则跳过

 End if

Next

  ③使用Create_Table()对每个表创建与之对应的备份表,取名可遵循如下原则,若原表叫table_name,则备份表叫b_table_name

  ④将table_name表中的所有记录复制到b_table_name中。

⑤从备份库删除对SQL数据表的链接。

    3、程序原码

  采用微软DAO (Data Access Object) 数据模型, 打开Access 本地数据库, 并连接一个外部ODBC数据表

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值