Verbesserte ASP-Sicherung der SQL Server-Datenbank
Autor:Eve Cole
Aktualisierungszeit:2009-06-24 17:02:32
<form method="post" name="myform" action="?action=backupdatabase">
Aktion auswählen: <INPUT TYPE="radio" NAME="act" id="act_backup"value="backup"><label for=act_backup>Backup</label>
<INPUT TYPE="radio" NAME="act" id="act_restore" value="restore"><label for=act_restore>Wiederherstellen</label>
<br>Datenbankname: <INPUT TYPE="text" NAME="databasename" value="<%=request("databasename")%>">
<br>Dateipfad: <INPUT TYPE="text" NAME="bak_file" value="c:$1.bak">(Pfad der Sicherungs- oder Wiederherstellungsdatei)<br>
<input type="submit" value="OK" id=submit1 name=submit1>
</form>
<%
„Sicherung und Wiederherstellung der SQL Server-Datenbank!“
if request("action")="backupdatabase" Dann
dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act
sqlserver = "localhost"
sqlname = "sa"
sqlpassword="Passwort"
sqlLoginTimeout = 15
Datenbankname = trim(request("Datenbankname"))
bak_file = trim(request("bak_file"))
bak_file = replace(bak_file,"$1",Datenbankname)
act = lcase(request("act"))
wenn Datenbankname = "", dann
Response.write „Datenbankname eingeben“
anders
wenn act = "backup", dann
Setze srv=Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = sqlLoginTimeout
srv.Connect sqlserver, sqlname, sqlpassword
Setze bak = Server.CreateObject("SQLDMO.Backup")
bak.Database=Datenbankname
bak.Devices=Dateien
bak.Action = 0
bak.Initialize = 1
'bak.Replace = True
bak.Files=bak_file
bak.SQLBackup srv
Wenn Fehlernummer > 0, dann
Response.write err.number&"<font color=red><br>"
Response.write err.description&"</font>"
Ende wenn
Response.write „<font color=green>Sicherung erfolgreich!</font>“
elseif act="restore" dann
'Die Wiederherstellung sollte durchgeführt werden, wenn die Datenbank nicht verwendet wird!
Setze srv=Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = sqlLoginTimeout
srv.Connect sqlserver, sqlname, sqlpassword
Set rest=Server.CreateObject("SQLDMO.Restore")
rest.Action=0 ' vollständige Datenbankwiederherstellung
rest.Database=Datenbankname
rest.Devices=Dateien
rest.Files=bak_file
rest.ReplaceDatabase=True 'Wiederherstellung der vorhandenen Datenbank erzwingen
Wenn Fehlernummer > 0, dann
Response.write err.number&"<font color=red><br>"
Response.write err.description&"</font>"
Ende wenn
rest.SQLRestore srv
Response.write „<font color=green>Erfolgreich wiederhergestellt!</font>“
anders
Response.write „<font color=red>Kein Vorgang ausgewählt</font>“
Ende wenn
Ende wenn
Ende wenn
%>