首页 > 编程 > ASP > 正文

Asp备份与恢复SQLServer数据库

2024-07-21 02:05:28
字体:
来源:转载
供稿:网友

<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.51windows.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>  


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表