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

  <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

  %>