Habe Datenbanksicherung und -wiederherstellung gesehen. Das meiste davon wird mit Komponenten erledigt. Tatsächlich kann dies über eine SQL-Anweisung erfolgen.
Aus Zeitgründen wurde auf eine Überprüfung der Parameter und eine Verschönerung der Schnittstelle verzichtet. Der Code dient nur als Referenz.
Insgesamt 4 Dateien: Download-Adresse: Funktion rec(rs,sql)
set rs = server.CreateObject("ADODB.Recordset")
rs.Activeconnection = conn
rs.Source = sql
rs.CursorType = 0
rs.Cursorlocation = 3
rs.LockType = 1
rs.Öffnen
wenn rs.eof und rs.bof dann
rec=false
anders
rec=wahr
Ende wenn
Endfunktion
Funktion cmd(sql)
dimmen Sie cmd1
set cmd1 = server.CreateObject("ADODB.Command")
cmd1.ActiveConnection = Verbindung
cmd1.CommandText = sql
cmd1.CommandType = 1
cmd1.CommandTimeout = 0
cmd1.Prepared = true
cmd1.Execute()
Endfunktion
Funktion cdb(rs)
rs.close()
setze rs=nichts
Endfunktion
%>
dev.asp
<!--#include file="conn.asp"-->
<%
if request("AddDev") <> "" then
sql="select name,phyname from master..sysdevices where status=16 and name='"&request("devname")&"'"
rec chk,sql
wenn chk.eof und chk.bof dann
sql = "sp_addumpdevice 'disk','"&request("devname")&"','"&request("phyname")&"'"
cmdsql
Response.Write „<script language=javascript>window.location=reload;</script>“
anders
Response.Write "<script language=javascript>alert('Das Gerät existiert bereits in der Datenbank"&request("devname")&"Device!');window.location='cmd.asp';</script>"
Ende wenn
Ende wenn
if request("deldev") <> "" then
sql = "sp_dropdevice '"&request("devname")&"'"
cmdsql
Response.Write „<script language=javascript>window.location=reload;</script>“
Ende wenn
rec li, „Wählen Sie Name, Phyname aus Master..sys-Geräten aus, wobei Status=16“
wenn li.eof und li.bof dann
Antwort. Schreiben Sie „<font color=#ff0000>Bitte erstellen Sie ein neues Sicherungsgerät, um die Datenbank zu sichern und wiederherzustellen</font>“
anders
%><style type="text/css">
<!--
Körper {
Rand links: 0px;
Rand oben: 0px;
}
->
</style>
<table width="60%" border="0" cellpacing="0">
<tr>
<td width="29%">Name:</td>
<td width="71%">Position:</td>
</tr>
<%
ich=0
während nicht li.eof
i=i+1
%>
<tr>
<td><%=li(0)%></td>
<td><%=li(1)%> <a href='dev.asp?DelDev=1&devname=<%=li(0)%>'>Dieses Gerät löschen</a></td>
</tr>
<%
li.movenext
wenden
Response.Write "<script language=javascript>top.document.all.dev.height='"&(i+1)*25&"';</script>"
cdbli
%>
</table>
<%
Ende wenn
%>
default.asp
< %@LANGUAGE="VBSCRIPT " CODEPAGE="936"%>
<!--#include file="conn.asp"-->
<%
'**************************************************
'Datenbanksicherung und -wiederherstellung
'Programmierung: Magic Yang (MagicYang.CN)
„Fertigstellungsdatum: 11.04.2004
„Erklärung: Aus Zeitgründen wurde die Sicherheit der Daten nicht überprüft.
„Bitte überprüfen Sie die Daten bei der Bewerbung, um die Sicherheit zu gewährleisten.“
'QQ: 1168064 Begrüßen Sie alle, um miteinander zu kommunizieren
'**************************************************
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd ">
<html>
<Kopf>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Datenbanksicherung und -wiederherstellung</title>
</head>
<body>
<%
%>
<table width="80%" border="0" align="center">
<tr>
<td width="21%" valign="top">Datenbankgerät:</td>
<td width="79%">
<iframe name="dev" src="dev.asp" width="100%" height="200" frameborder="0" scrolling="no"></iframe>
</td>
</tr>
<tr>
<td>Gerät hinzufügen:</td>
<td>Gerätename:
<input name="devname" type="text" id="devname" size="10" maxlength="10"></td>
</tr>
<tr>
<td> </td>
<td>Dateipfad:
<input name="phyname" type="text" id="phyname" size="20" maxlength="50">
<input type="button" value="Gerät hinzufügen" 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">Sichern/Wiederherstellen:</td>
<td>
Datenbankname:
<%
rec li,"Wählen Sie den Namen aus Master..sysdatabases aus, wobei Status=16 ist"
%>
<select name="b_data">
<%
während nicht li.eof
Antwort.Write "<option value="&li(0)&">"&li(0)&"</option>"
li.movenext
wenden
cdbli
%>
</select><br>
Sicherung auf Gerät: <%
rec li, „Wählen Sie Name, Phyname aus Master..sys-Geräten aus, wobei Status=16“
%>
<select name="b_dev">
<%
während nicht li.eof
Antwort.Write "<option value="&li(0)&">"&li(0)&"(file:"&li(1)&")</option>"
li.movenext
wenden
cdbli
%>
</select><br>
<input name="Button" type="button" value="Backup-Datenbank" 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="Datenbank wiederherstellen" 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 file="conn.asp"-->
<%
Bei Fehler als nächstes fortfahren
if request("action") <> "" then
if request("action")="backup" dann
sql ="BACKUP DATABASE "&request("database")&" To "& request("dev")
cmdsql
Wenn Fehlernummer > 0, dann
Response.Write "<script language=javascript>alert('database"&request("database")&"Backup failed!');window.location='default.asp';</script>"
anders
Response.Write "<script language=javascript>alert('Database"&request("database")&"Backup erfolgreich!');window.location='default.asp';</script>"
Ende wenn
anders
sql ="DATENBANK WIEDERHERSTELLEN "&request("database")&" From "& request("dev")
cmdsql
Wenn Fehlernummer > 0, dann
Response.Write "<script language=javascript>alert('Database"&request("database")&"Restore failed!');window.location='default.asp';</script>"
anders
Response.Write "<script language=javascript>alert('database"&request("database")&"Erfolgreich wiederhergestellt!');window.location='default.asp';</script>"
Ende wenn
Ende wenn
Ende wenn
%>
Ich hoffe, dass jeder miteinander kommunizieren kann! QQ: 1168064