首页 > 编程 > ASP > 正文

非常好用的asp备份,还原SQL数据库的代码

2024-05-04 11:09:24
字体:
来源:转载
供稿:网友
用asp的朋友,可以用下面的代码,实现mssql数据库的备份还原操作
 
 
 
<form method="post" name="myform" action="?action=backupdatabase"> 
选择操作: 
<input type="radio" name="act" id="act_backup"value="backup"> 
<label for=act_backup>备份</label> 
<input type="radio" name="act" id="act_restore" value="restore"> 
<label for=act_restore>恢复</label> 
<br> 
数据库名: 
<input type="text" name="databasename" value="<%=request("databasename")%>"> 
<br> 
文件路径: 
<input type="text" name="bak_file" value="c:/$1.bak"> 
(备份或恢复的文件路径)<br> 
<input type="submit" value="确定" id=submit1 name=submit1> 
</form> 
<% 
'sql server 数据库的备份与恢复! 
if request("action")="backupdatabase" then 
dim sqlserver,sqlname,sqlpassword,sqllogintimeout,databasename,bak_file,act 
'************************************************************************** 
sqlserver = "127.0.0.1" 
sqlname = "sa " 
sqlpassword ="111" 
sqllogintimeout = 15 
databasename = trim(request("databasename")) 
bak_file = trim(request("bak_file")) 
bak_file = replace(bak_file,"$1",databasename) 
act = lcase(request("act")) 
'************************************************************************** 
if databasename = "" then 
response.write "input database name" 
else 
if act = "backup" then 
set srv=server.createobject("sqldmo.sqlserver") 
srv.logintimeout = sqllogintimeout 
srv.connect sqlserver,sqlname, sqlpassword 
set bak = server.createobject("sqldmo.backup") 
bak.database=databasename 
bak.devices=files 
bak.action = 0 
bak.initialize = 1 
'bak.replace = true 
bak.files=bak_file 
bak.sqlbackup srv 
if err.number>0 then 
response.write err.number&"<font color=red><br>" 
response.write err.description&"</font>" 
end if 
response.write "<font color=green>备份成功!</font>" 
end if 

if act="restore" then 
'恢复时要在没有使用数据库时进行! 
set srv=server.createobject("sqldmo.sqlserver") 
srv.logintimeout = sqllogintimeout 
srv.connect sqlserver,sqlname, sqlpassword 
set rest=server.createobject("sqldmo.restore") 
rest.action=0 ' full db restore 
rest.database=databasename 
rest.devices=files 
rest.files=bak_file 
rest.replacedatabase=true 'force restore over existing database 
if err.number>0 then 
response.write err.number&"<font color=red><br>" 
response.write err.description&"</font>" 
end if 
rest.sqlrestore srv 
response.write "<font color=green>恢复成功!</font>" 
else 
response.write "<font color=red>没有选择操作</font>" 
end if 
end if 
end if 
%>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表