分享

远程备份(还原)SQL2000数据库

 bluecrystal 2006-12-01
1、在企业管理器中:  
  打开你的企业管理器,注册要操作的SQL   Server服务器,然后和本地的操作一样了,不过还原和备份的路径都在服务器所在机上。  
   
  2、用VB代码实现:  
  利用VB进行SQL2000的数据备份和恢复  
   数据备份  
  备份有两中形式完全备份和差异备份  
  完全备份:是对数据库进行完整备份,周期比较长,如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.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   "网络不通或服务器未开,请确认后再试",   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  
   
  完毕

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多