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

来源:百度文库 编辑:神马文学网 时间:2024/06/13 06:08:27
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
完毕