Discuz教程网

ASP备份SQL Server数据库改进版

[复制链接]
authicon dly 发表于 2011-9-10 21:26:01 | 显示全部楼层 |阅读模式
  1. <form method="post" name="myform" action="?action=backupdatabase">
  2. 选择操作:<INPUT TYPE="radio" NAME="act" id="act_backup"value="backup"><label for=act_backup>备份</label>
  3. <INPUT TYPE="radio" NAME="act" id="act_restore" value="restore"><label for=act_restore>恢复</label>
  4. <br>数据库名:<INPUT TYPE="text" NAME="databasename" value="<%=request("databasename")%>">
  5. <br>文件路径:<INPUT TYPE="text" NAME="bak_file" value="c:\$1.bak">(备份或恢复的文件路径)<br>
  6. <input type="submit" value="确定" id=submit1 name=submit1>
  7. </form>
  8. <%
  9. 'SQL Server 数据库的备份与恢复!
  10. if request("action")="backupdatabase" Then
  11. dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act
  12. sqlserver = "localhost"
  13. sqlname = "sa"
  14. sqlpassword ="password"
  15. sqlLoginTimeout = 15
  16. databasename = trim(request("databasename"))
  17. bak_file = trim(request("bak_file"))
  18. bak_file = replace(bak_file,"$1",databasename)
  19. act = lcase(request("act"))
  20. if databasename = "" then
  21. response.write "input database name"
  22. else
  23. if act = "backup" then
  24. Set srv=Server.CreateObject("SQLDMO.SQLServer")
  25. srv.LoginTimeout = sqlLoginTimeout
  26. srv.Connect sqlserver,sqlname, sqlpassword
  27. Set bak = Server.CreateObject("SQLDMO.Backup")
  28. bak.Database=databasename
  29. bak.Devices=Files
  30. bak.Action = 0
  31. bak.Initialize = 1
  32. 'bak.Replace = True
  33. bak.Files=bak_file
  34. bak.SQLBackup srv
  35. if err.number>0 then
  36. response.write err.number&"<font color=red><br>"
  37. response.write err.description&"</font>"
  38. end if
  39. Response.write "<font color=green>备份成功!</font>"
  40. elseif act="restore" then
  41. '恢复时要在没有使用数据库时进行!
  42. Set srv=Server.CreateObject("SQLDMO.SQLServer")
  43. srv.LoginTimeout = sqlLoginTimeout
  44. srv.Connect sqlserver,sqlname, sqlpassword
  45. Set rest=Server.CreateObject("SQLDMO.Restore")
  46. rest.Action=0 ' full db restore
  47. rest.Database=databasename
  48. rest.Devices=Files
  49. rest.Files=bak_file
  50. rest.ReplaceDatabase=True 'Force restore over existing database
  51. if err.number>0 then
  52. response.write err.number&"<font color=red><br>"
  53. response.write err.description&"</font>"
  54. end if
  55. rest.SQLRestore srv
  56. Response.write "<font color=green>恢复成功!</font>"
  57. else
  58. Response.write "<font color=red>没有选择操作</font>"
  59. end if
  60. end if
  61. end if
  62. %>
复制代码



上一篇:JavaScript中的View-Model使用介绍
下一篇:asp中让function同时返回多个值的代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 18:22

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表