无组件的数据库的备份与还原

看过数据库的备份与还原。大多数都是用组件来完成的。其实可通过sql语句来完成。
由于时间关系,未对参数进行验证和界面美化。代码仅供参考。
共计4个文件:下载地址: http://ad.ceh.com.cn/sql.rar
conn.asp

 1   
 2conn="Provider=SQLOLEDB.1;Persist Security Info=false;Server=127.0.0.1;UID=sa;pwd=www.zhi.net;database=master"   
 3function rec(rs,sql)   
 4set rs = server.CreateObject("ADODB.Recordset")   
 5rs.Activeconnection = conn   
 6rs.Source = sql   
 7rs.CursorType = 0   
 8rs.Cursorlocation = 3   
 9rs.LockType = 1   
10rs.Open   
11if rs.eof and rs.bof then   
12rec= false   
13else   
14rec= true   
15end if   
16end function   
17function cmd(sql)   
18dim cmd1   
19set cmd1 = server.CreateObject("ADODB.Command")   
20cmd1.ActiveConnection = conn   
21cmd1.CommandText = sql   
22cmd1.CommandType = 1   
23cmd1.CommandTimeout = 0   
24cmd1.Prepared = true   
25cmd1.Execute()   
26end function   
27function cdb(rs)   
28rs.close()   
29set rs=nothing   
30end function   

dev.asp

1   
2if request("AddDev") <> "" then   
3sql="select name,phyname from master..sysdevices where status=16 and name='"&request("devname")&"'"   
4rec chk,sql   
5if chk.eof and chk.bof then   
6sql = "sp_addumpdevice 'disk','"&request("devname")&"','"&request("phyname")&"'"   
7cmd sql   
8response.Write "

<script language="javascript">window.location=reload;</script>

1"   
2else   
3response.Write "

<script language="javascript">alert('数据库中已存在"&request("devname")&"设备!');window.location='cmd.asp';</script>

1"   
2end if   
3end if   
4if request("deldev") <> "" then   
5sql = "sp_dropdevice '"&request("devname")&"'"   
6cmd sql   
7response.Write "

<script language="javascript">window.location=reload;</script>

1"   
2end if   
3rec li,"select name,phyname from master..sysdevices where status=16"   
4if li.eof and li.bof then   
5response.Write "

<font color="#ff0000">请新建备份设备用来备份还原数据库</font>

1"   
2else   
1<style type="text/css">   
2<!--   
3body {   
4margin-left: 0px;   
5margin-top: 0px;   
6}   
7\-->   
8</style>
1<table border="0" cellspacing="0" width="60%">
2<tr>
3<td width="29%">名称:</td>
4<td width="71%">位置:</td>
5</tr>   

i=0
while not li.eof
i=i+1

 1<tr>
 2<td>```
 3=li(0)
 4```</td>
 5<td>```
 6=li(1)
 7``` <a href="dev.asp?DelDev=1&amp;devname=```
 8=li(0)
 9```">删除此设备</a></td>
10</tr>   

li.movenext
wend
response.Write "<script language="javascript">top.document.all.dev.height='"&(i+1)*25&"';</script>"
cdb li

1</table>
1   
2end if   

default.asp
< %@LANGUAGE="VBSCRIPT " CODEPAGE="936"%>

1   
2'*************************************************   
3'数据库备份与还原   
4'编 程:魔术师·杨(MagicYang.CN)   
5'完成日期:2004-4-11   
6'说明:由于时间关系,未对数据做安全性验证。   
7'应用时请对数据进行验证,确保安全。   
8'QQ:1168064 欢迎大家互相交流   
9'*************************************************   
1<html>
2<head>
3<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
4<title>数据库的备份与还原</title>
5</head>
6<body>   
 1<table align="center" border="0" width="80%">
 2<tr>
 3<td valign="top" width="21%">数据库设备:</td>
 4<td width="79%">
 5<iframe frameborder="0" height="200" name="dev" scrolling="no" src="dev.asp" width="100%"></iframe>
 6</td>
 7</tr>
 8<tr>
 9<td>添加设备:</td>
10<td>设备名称:   
11<input id="devname" maxlength="10" name="devname" size="10" type="text"/></td>
12</tr>
13<tr>
14<td> </td>
15<td>文件路径:   
16<input id="phyname" maxlength="50" name="phyname" size="20" type="text"/>
17<input onclick="document.all.dev.src='dev.asp?AddDev=1&amp;devname='+document.all.devname.value+'&amp;phyname='+document.all.phyname.value;" type="button" value="添加设备"/></td>
18</tr>
19<tr>
20<td valign="top">备份/还原:</td>
21<td>   
22数据库名称:   

rec li,"select name from master..sysdatabases where status=16"

1<select name="b_data">   

while not li.eof
response.Write "<option value="&amp;li(0)&amp;">"&amp;li(0)&amp;"</option>"
li.movenext
wend
cdb li

1</select><br/>   
2备份到设备:```
3   
4rec li,"select name,phyname from master..sysdevices where status=16"