加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

一个sqlserver2000中,通过ftp自动远程备份和恢复数据库的例子

发布时间:2020-12-12 15:29:20 所属栏目:MsSql教程 来源:网络整理
导读:很早以前的一个项目里写的,现在放上来备忘。 要求: 具有管理员权限,一般sa用户就可以。 备份原理如下: 首先导出数据库到本地硬盘上,然后压缩成cab文件,之后用ftp.exe将压缩包上传到ftp服务器上 恢复原理如下: 首先在ftp服务器上下载压缩包,然后解压
很早以前的一个项目里写的,现在放上来备忘。

要求:
具有管理员权限,一般sa用户就可以。

备份原理如下:
首先导出数据库到本地硬盘上,然后压缩成cab文件,之后用ftp.exe将压缩包上传到ftp服务器上
恢复原理如下:
首先在ftp服务器上下载压缩包,然后解压缩里面的文件,最后将数据库备份恢复。

这是备份的源码
?1? create ? procedure ?sp_BackupDB
?2? ?????? @DBName ? varchar ( 50 ),
?3? @Host 255 ?4? @User ?5? @Password ?6? -- ??????@Port?int,
?7? @WorkingFolder ?8? @FileName )
?9? as
10? begin 11? ?? declare @sTempFileName 12? @sCommandText 13? @sCabFileName 14? @sTempFolder 15? 16? set ? = ? ' ~dbback ' 17? 创建临时文件夹 18? md?c: + 19? exec ?xp_cmdshell? 20? 21? c: '' 22? REPLACE ( , .zpck .dbak 23? 24? 删除可能存在的的临时文件 25? del?" + " 26? 27? 28? 29? 30? 31? 备份数据库 32? BACKUP DATABASE TO DISK 33? set?@sCommandText?=?'BACKUP?DATABASE?'?+?@DBName?+?'?TO?DISK?=?'''?+?@sTempFileName?+?'''' 34? execute(@sCommandText) 35? ??
36? 将数据库压缩成数据包 37? ?xp_makecab? mszip 1 ?,? 38? 39? @ftpLogScriptFileName 40? .log )? 41? 产生ftp上传脚本 42? echo?ftp> 43? 44? echo?open? >> 45? 46? echo? 47? 48? 49? 50? echo?cd? 51? 52? echo?put?" ">> 53? 54? echo?bye?>> 55? 56? 57? 上传数据包 58? ftp?-s:" 59? 60? 61? 删除数据库压缩包 62? 63? 64? 65? 删除ftp上传脚本 66? 67? 68? 69? ?
70? 删除数据库备份 71? 72? 73? 74? 删除临时文件夹 75? rd?c: 76? 77? 78? return 79? end
这是恢复备份的源码
?sp_RestoreDB
?????? @MDFPhyFileName @MDFLogFileName @LDFPhyFileName @LDFLogFileName @ReturnValue int ?output

??
- )
??
@sUnpackFolder )

??set?@MDFPhyFileName?=?'C:Program?FilesMicrosoft?SQL?ServerMSSQLDataSuStorageMgr.mdf'
--
??set?@MDFLogFileName?=?'SuStorageMgr_Data' ??set?@LDFPhyFileName?=?'C:Program?FilesMicrosoft?SQL?ServerMSSQLDataSuStorageMgr_log.ldf' ??set?@LDFLogFileName?=?'SuStorageMgr_Log' )

??
md?

??
产生ftp下载脚本 echo?ftp>" >>" >>" & lt;; / span gt; echo?get? echo?bye >>" 下载数据包 ftp?-s: 删除ftp下载脚本 压缩包解压缩 ?xp_unpackcab? 还原数据库 RESTORE
???
FROM disk
???????
WITH ?RECOVERY,
???????
to 删除临时目录 rd? ? end 在windows 2000+sql server 2000上调试通过

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读