注册
 找回密码
 注册
江西广告网
查看: 604|回复: 0
打印 上一主题 下一主题

利用VB进行SQL2000的数据备份和恢复

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-1-12 10:10:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  一、备份有两中形式完全备份和差异备份      完全备份:是对数据库进行完整备份,周期比较长,如1周等      差异备份:是对更新备份的数据进行备份,周期比较短,如1小时      命令介绍: Backup Database [数据库名] To Disk=[保存路径和名称] With [其他属性]      代码注释:ServerIP :SQLServer所在机器的 IP   jtsg:SQLServer中数据的名称      Public Cn As ADODB.Connection   Set Cn = New ADODB.Connection   strcon = "Provider=SQLOLEDB.1assword=saersist Security Info=True;User ID=sa;Initial Catalog=jtsg;Data Source=" ServerIp ";" _   "use procedure for prepare=1;auto translate=true;" _   "use encryption for data=false;tag with column collation when possible=false"   Cn.ConnectionString = strcon   On Error Resume Next   Cn.Open   If Cn.Errors.Count > 0 Then   For i = 0 To Cn.Errors.Count - 1   If Cn.Errors(i).Number = -2147467259 Then   MsgBox "网络不通或服务器未开,请确认后再试", vbOKOnly vbInformation, "提醒"   Unload Me   Exit Sub   Exit For   End If   Next i   End If      二、完全备份      Private Sub BackupAll()   Cn.Execute "backup database jtsg to disk='" App.Path "\backup\myjtsgall.bak' with name='jtsg backup all',description='Full Backup Of jtsg'"   MsgBox "数据完全备份已经完成", vbOKOnly vbInformation, "提醒"   End Sub      三、差异备份      Private Sub BackupDif()   Cn.Execute "backup database jtsg to disk='" App.Path "\backup\myjtsgdif.bak' with differential ,noinit,name='jtsg backup dif',description='Differential Backup Of jtsg'"   MsgBox "数据差异备份已经完成", vbOKOnly vbInformation, "提醒"   End Sub      四、数据恢复      数据恢复,问题很多,要区分用户的备份形式。一般备份的默认形式是 Append to media,即添加到备份设备已有内容后面。前面介绍的备份方式就这种。还有一种备份形式是 OverWrite,即覆盖设备原有内容。这两中备份形式决定恢复的方式也不一样。      命令介绍: Restore Database [数据库名] From [保存备份的路径和名称] With[其他属性]      在其他属性中重点介绍:File 、 NORECOVERY和 RECOVERY      1.FILE   这是不同备份形式的重要参数,用来指定从设备上的第几个备份中恢复,比如采用APPEND形式备份,作了两次备份,恢复第一个备份时应该在恢复命令中使用“FILE=1”;恢复第二个备份时则使用“FILE=2”的选项。   当然如果备份形式是OVERWRITE,备份中就只有一次备份,所以使用 FILE=1的选项;      2.RECOVERY   如果使用RECOVERY选项,那么恢复完成后,SQLSERVER回滚被恢复数据库中所有未完成的事务,以保证数据库的一致性。在恢复后用户就可以访问数据库。所以RECOVERY用来恢复最后一个备份。NORECOVERY则相反。默认为RECOVERY。      代码解释:还原备份的文件可以选择,完全备份和差异备份   Private Sub RestoreData()   Cn.Execute "restore database jtsg from disk='" App.Path "\backup\myjtsgall.bak' with FILE=1"   MsgBox "数据恢复已经完成", vbOKOnly vbInformation, "提醒"   End Sub <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表