用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > sqlserver教程

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

时间:2014-11-30  来源:互联网  作者:佚名

  一、备份有两中形式完全备份和差异备份

  

  完全备份:是对数据库进行完整备份,周期比较长,如1周等

  

  差异备份:是对更新备份的数据进行备份,周期比较短,如1小时

  

  命令介绍: Backup Database [数据库名] To Disk=[保存路径和名称] With [其他属性]

  

  代码注释:ServerIP :SQL(SQL Server培训 mySQL培训 )Server所在机器的 IP

  jtsg:SQLServer中数据的名称

  

  Public Cn As ADODB.Connection

  Set Cn = New ADODB.Connection

  strcon = "Provider=SQLOLEDB.1;Password=sa;Persist 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 "网络不通或服务器未开,请确认后再试", VB(VB培训 )OKOnly + 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

来顶一下
返回首页
返回首页
推荐资讯
从零开始学ASP.NET-基础篇第1/7页 从零开始学ASP.NET-基础篇第1/7页第一天 学习目的: 掌握最基本的Label、TextBox、Button控件
ASP.NET入门数据篇 ASP.NET入门数据篇对于网站编程的初学者来说,总是会上网找些源码来看,但久而
相关文章
栏目更新
栏目热门