Asp备份与恢复SQLServer数据库

ASP教程 2025-08-29

<html>

 <head>

 <title>sql server 数据库的备份与恢复</title>

 <meta http-equiv="content-type" content="text/html; charset=gb2312">

 </head>

<body>

 <form method="post" name=myform>

 选择操作:<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="确定">

 </form>

 <%

 /'sql server 数据库的备份与恢复!

 /'海娃@2004-4-2

 /'http://www.*51*wi*ndows.net

 dim sqlserver,sqlname,sqlpassword,sqllogintimeout,databasename,bak_file,act

 sqlserver = "localhost" /'sql服务器

 sqlname = "sa" /'用户名

 sqlpassword = "sa" /'密码

 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.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>"

  elseif 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

 %>

 </body>

 </html>