Backup ASP aprimorado do banco de dados SQL Server
Autor:Eve Cole
Data da Última Atualização:2009-06-24 17:02:32
<form method="post" name="myform" action="?action=backupdatabase">
Selecione a ação: <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>Restaurar</label>
<br>Nome do banco de dados: <INPUT TYPE="text" NAME="databasename" value="<%=request("databasename")%>">
<br>Caminho do arquivo: <INPUT TYPE="text" NAME="bak_file" value="c:$1.bak">(caminho do arquivo de backup ou recuperação)<br>
<input type="submit" value="OK" id=submit1 name=submit1>
</form>
<%
'Backup e recuperação de banco de dados SQL Server!
if request("action")="backupdatabase" Then
dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act
sqlserver = "localhost"
nomesql = "sa"
sqlpassword="senha"
sqlLoginTimeout = 15
nome do banco de dados = trim(request("nome do banco de dados"))
arquivo_bak = trim(request("arquivo_bak"))
bak_file = substituir(bak_file,"$1",nome do banco de dados)
agir = lcase(solicitação("agir"))
se nome do banco de dados = "" então
response.write "nome do banco de dados de entrada"
outro
se agir = "backup" então
Definir srv=Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = sqlLoginTimeout
srv.Conectar sqlserver,nomesql,senhasql
Definir bak = Server.CreateObject("SQLDMO.Backup")
bak.Database = nome do banco de dados
bak.Devices=Arquivos
bak.Ação = 0
bak.Inicializar = 1
'bak.Replace = Verdadeiro
bak.Files=bak_file
bak.SQLBackup srv
se err.número>0 então
resposta.write err.number&"<font color=red><br>"
resposta.write err.descrição&"</font>"
terminar se
Response.write "<font color=green>Backup bem-sucedido!</font>"
elseif act = "restaurar" então
'A restauração deve ser realizada quando o banco de dados não estiver em uso!
Definir srv=Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = sqlLoginTimeout
srv.Conectar sqlserver,nomesql,senhasql
Definir rest=Server.CreateObject("SQLDMO.Restore")
rest.Action=0 'restauração completa do banco de dados
rest.Database = nome do banco de dados
rest.Devices=Arquivos
rest.Files=bak_file
rest.ReplaceDatabase=True 'Forçar restauração sobre banco de dados existente
se err.número>0 então
resposta.write err.number&"<font color=red><br>"
resposta.write err.descrição&"</font>"
terminar se
rest.SQLRestore srv
Response.write "<font color=green>Restaurado com sucesso!</font>"
outro
Response.write "<font color=red>Nenhuma operação selecionada</font>"
terminar se
terminar se
terminar se
%>