当前位置: 首页 > 图文教程 > 数据库 > MSSQL > Asp备份与恢复SQL Server

MSSQL
如何在把超过固定长度的文字以……表示
精彩的近乎完美的分页存储过程
关于SQL Server SQL语句查询分页数据的解决方案
删除Access数词库中的空记录
在SQLSERVER2005中实现素数计算
经常用到的交叉表问题,一般用动态SQL能生成动态列!
sql server存储过程、存储函数的加密、解密
在SQL Server 2005中查询表结构及索引
取得拼音字头的存储过程
SQL Server自动备份无法删除过期的备份文件
未与信任SQL Server连接相关联的解决方法
小結SQL Server連接失敗錯誤及解決
SQL Server2000+JDBC常见问题及解决
PL/SQL实现Oracle数据库任务调度
Oracle中捕获问题SQL解决CPU过渡消耗
SQL Server 某些条件下求某日的日期
如何保持Oracle数据库的优良性能
SQL Server05 M 3.0 中复制和远程数据访问功能的技术对比
sql server平台用存储过程进行分页的两种方法
sql server 2000中循环插入100万条数据

MSSQL 中的 Asp备份与恢复SQL Server


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 54 ::
收藏到网摘: n/a

<HTML>
<HEAD>
<TITLE>数据库操作</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</HEAD>

<BODY>
<form method="post" name=myform>
<%if action="restore" then%><INPUT TYPE="hidden" name="action" value="restore">准备恢复数据库。。。
<%elseif action="backup" then%><INPUT TYPE="hidden" name="action" value="backup">准备备份数据库。。。<%else%>
选择操作:
<INPUT TYPE="radio" name="action" id="act_backup"  value="backup"><label for=act_backup>备份</label> 
<INPUT TYPE="radio" name="action" id="act_restore" value="restore"><label for=act_restore>恢复</label><%end if%>
<br>数据库名:<INPUT TYPE="text" name="databasename" value="50forum">
<br>文件路径:<INPUT TYPE="text" name="bak_file" value="http://blog.im286.com/50forum.bak">(备份或恢复的文件路径)<br>
<input type="submit" value="确定">
</form>
<%
'SQL Server 数据库的备份与恢复!
'海娃
'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 = Server.MapPath("backup/"&bak_file)
act = lcase(request("action"))

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.Action    = 0
  bak.Initialize   = 1
  'bak.ReplaceDatabase  = True
  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>"
  srv.disconnect
  Set srv = nothing
  Set bak = nothing
 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>&q