데이터베이스 백업 및 복원을 보았습니다. 대부분은 컴포넌트를 사용하여 수행됩니다. 실제로는 sql문을 통해서도 가능합니다.
시간 제약으로 인해 매개변수가 검증되지 않았고 인터페이스가 미화되었습니다. 코드는 참조용입니다.
총 4개 파일: 다운로드 주소: function rec(rs,sql)
set rs = server.CreateObject("ADODB.Recordset")
rs.Activeconnection = 연결
RS.소스 = SQL
rs.CursorType = 0
rs.Cursorlocation = 3
rs.LockType = 1
RS.열기
rs.eof 및 rs.bof인 경우
기록=거짓
또 다른
Rec=참
종료하면
함수 종료
함수 cmd(sql)
희미한 cmd1
set cmd1 = server.CreateObject("ADODB.Command")
cmd1.ActiveConnection = 연결
cmd1.CommandText = SQL
cmd1.CommandType = 1
cmd1.CommandTimeout = 0
cmd1.준비됨 = true
cmd1.실행()
함수 종료
함수 CDB(rs)
RS.닫기()
rs=아무것도 설정하지 않음
함수 종료
%>
dev.asp
<!--#include 파일="conn.asp"-->
<%
if request("AddDev") <> "" 그러면
sql="상태가 16이고 이름이 ='"&request("devname")&"'"인 master..sysdevices에서 이름, phyname을 선택하세요.
기록 chk,sql
chk.eof 및 chk.bof인 경우
sql = "sp_addumpdevice 'disk','"&request("devname")&"','"&request("phyname")&"'"
cmdsql
response.Write "<script 언어=javascript>window.location=reload;</script>"
또 다른
response.Write "<script 언어=javascript>alert('장치가 데이터베이스에 이미 존재합니다."&request("devname")&"Device!');window.location='cmd.asp';</script>"
종료하면
종료하면
if request("deldev") <> "" 그러면
sql = "sp_dropdevice '"&request("devname")&"'"
cmdsql
response.Write "<script 언어=javascript>window.location=reload;</script>"
종료하면
rec li,"상태=16인 master..sysdevices에서 이름,phyname을 선택하세요."
li.eof 및 li.bof인 경우
response.Write "<font color=#ff0000>데이터베이스를 백업하고 복원하려면 새 백업 장치를 만드십시오</font>"
또 다른
%><스타일 유형="텍스트/css">
<!--
몸 {
왼쪽 여백: 0px;
여백 상단: 0px;
}
-->
</style>
<테이블 너비="60%" border="0" 셀 간격="0">
<tr>
<td width="29%">이름:</td>
<td width="71%">위치:</td>
</tr>
<%
나는=0
li.eof가 아닌 동안
나=나+1
%>
<tr>
<td><%=li(0)%></td>
<td><%=li(1)%> <a href='dev.asp?DelDev=1&devname=<%=li(0)%>'>이 장치 삭제</a></td>
</tr>
<%
li.movenext
향하게 하다
response.Write "<script 언어=javascript>top.document.all.dev.height='"&(i+1)*25&"';</script>"
CDBLI
%>
</table>
<%
종료하면
%>
default.asp
< %@LANGUAGE="VBSCRIPT " CODEPAGE="936"%>
<!--#include 파일="conn.asp"-->
<%
'************************************************
'데이터베이스 백업 및 복원
'프로그래밍: 매직양(MagicYang.CN)
'완료일자 : 2004-4-11
'설명: 시간적 제약으로 인해 데이터의 보안이 확인되지 않았습니다.
'안전 확보를 위해 신청 시 데이터를 꼭 확인해 주세요.
'QQ: 1168064 여러분의 소통을 환영합니다
'************************************************
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd ">
<html>
<머리>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>데이터베이스 백업 및 복원</title>
</head>
<본문>
<%
%>
<테이블 너비="80%" border="0" align="center">
<tr>
<td width="21%" valign="top">데이터베이스 장치:</td>
<td 너비="79%">
<iframe name="dev" src="dev.asp" width="100%" height="200" frameborder="0" scrolling="no"></iframe>
</td>
</tr>
<tr>
<td>기기 추가:</td>
<td>장치 이름:
<input name="devname" type="text" id="devname" size="10" maxlength="10"></td>
</tr>
<tr>
<td> </td>
<td>파일 경로:
<input name="phyname" type="text" id="phyname" size="20" maxlength="50">
<input type="button" value="장치 추가" onClick="document.all.dev.src='dev.asp?AddDev=1&devname='+document.all.devname.value+'&phyname='+document.all .phyname.value;"></td>
</tr>
<tr>
<td valign="top">백업/복원:</td>
<TD>
데이터베이스 이름:
<%
rec li,"상태=16인 master..sysdatabases에서 이름을 선택하십시오."
%>
<선택 이름="b_data">
<%
li.eof가 아닌 동안
응답.쓰기 "<option value="&li(0)&">"&li(0)&"</option>"
li.movenext
향하게 하다
CDBLI
%>
</select><br>
장치에 백업: <%
rec li,"상태=16인 master..sysdevices에서 이름,phyname을 선택하세요."
%>
<선택 이름="b_dev">
<%
li.eof가 아닌 동안
response.Write "<option value="&li(0)&">"&li(0)&"(file:"&li(1)&")</option>"
li.movenext
향하게 하다
CDBLI
%>
</select><br>
<input name="Button" type="button" value="데이터베이스 백업" onClick="window.location='cmd.asp?action=backup&database='+document.all.b_data.value+'&dev='+document. all.b_dev.value;">
<input name="Button" type="button" value="데이터베이스 복원" onClick="window.location='cmd.asp?action=RESTORE&database='+document.all.b_data.value+'&dev='+document. all.b_dev.value;"> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>
cmd.asp
<!--#include 파일="conn.asp"-->
<%
오류 발생 시 다음 재개
if request("action") <> "" 그러면
request("action")="백업"인 경우
sql ="BACKUP DATABASE "&request("database")&" To "& 요청("dev")
cmdsql
err.number > 0이면
response.Write "<script 언어=javascript>alert('database"&request("database")&"백업 실패!');window.location='default.asp';</script>"
또 다른
response.Write "<script 언어=javascript>alert('Database"&request("database")&"백업 성공!');window.location='default.asp';</script>"
종료하면
또 다른
sql ="데이터베이스 복원 "&request("database")&" "& 요청("dev")에서
cmdsql
err.number > 0이면
response.Write "<script 언어=javascript>alert('Database"&request("database")&"복원 실패!');window.location='default.asp';</script>"
또 다른
response.Write "<script 언어=javascript>alert('database"&request("database")&"성공적으로 복원되었습니다!');window.location='default.asp';</script>"
종료하면
종료하면
종료하면
%>
모두가 서로 소통할 수 있기를 바랍니다! QQ: 1168064