asp 在线备份与恢复sql server数据库的代码

时间:2010-07-31 18:52:00 

asp 在线备份 恢复 sql server 数据库,对于远程没有提供sql server远程连接或打包下载的朋友是个临时解决方法,对于大数据来说可能效果不好。

asp在线备份sql server数据库:

1、备份sqlserver 

<% 
SQL="backup database 数据库名 to disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'" 
set cnn=Server.createobject("adodb.connection") 
cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd=" 
cnn.execute SQL 
on error resume next 
if err<>0 then 
response.wrITe "错误:"&err.Descripting 
else 
response.wrITe "数据备份成功!" 
end if 
%>

 2、恢复sql server

<% 
SQL="Restore database 数据库名 from disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'" 
set cnn=Server.createobject("adodb.connection") 
cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd=" 
cnn.execute SQL 
on error resume next 
if err<>0 then 
response.wrITe "错误:"&err.Descripting 
else 
response.wrITe "数据恢复成功!" 
end if 
%> 

ACCESS原理一样

<% 
'***************************************** 
function CopyTo(ByVal cFile,ByVal toFile) 
cFile=Server.MapPath(cFile) ‘所要备份的文件 
toFile=Server.MapPath(toFile) ‘备份文件 
Dim cFso,cf 
set cFso=Server.CreateObject("Scripting.FileSystemObject") 
cFso.fileexists(cFile) 
cFso.Copyfile cFile,toFile 
end function 
'********************************************* 
' ASP实现备份及恢复ACCESS数据库操作 
'本页面为 databackup.asp 
dim dbpath,bkfolder,bkdbname,fso,fso1 
call main() 
call main2() 
conn.close 
set conn=nothing 
sub main() 
if request("action")="Backup" then 
call backupdata() 
else 
%> 
<table cellspacing=1 cellpadding=1 align=center width="90%"> 
<tr> 
<th height=25 > 
<B>数据库备份</B> 
</th> 
</tr> 
<form method="post" action="databackup.asp?action=Backup"> 
<tr> 
<td height=100 style="line-height:150%"> 

当前数据库路径(相对路径): 
<input type=text size=15 name=DBpath value="../mdb/database.mdb"><BR> 
备份数据库目录(相对路径): 
<input type=text size=15 name=bkfolder value=../Databackup> 如目录不存在,程序将自动创建<BR> 
备份数据库名称(填写名称): 
<input type=text size=15 name=bkDBname value=database.mdb> 如备份目录有该 

文件,将覆盖,如没有,将自动创建<BR> 
<input type=submIT value="备份数据"><hr align="center" width="90%" color="#999999"></td> 
</tr> 
</form> 
</table> 
<% 
end if 
end sub 
sub main2() 
if request("action")="Restore" then 
Dbpath=request.form("Dbpath") 
backpath=request.form("backpath") 
if dbpath="" then 
response.wrITe "请输入您要恢复成的数据库全名" 
else 
Dbpath=server.mappath(Dbpath) 
end if 
backpath=server.mappath(backpath) 
Response.wrITe Backpath 
Set Fso=server.createobject("scripting.filesystemobject") 
if fso.fileexists(dbpath) then 
fso.copyfile Dbpath,Backpath 
response.wrITe "<font color=red>成功恢复数据!</font>" 
else 
response.wrITe "<font color=red>备份目录下并无您的备份文件!</font>" 
end if 
else 
%> 
<table align=center cellspacing=1 cellpadding=1 width="90%"> 
<tr> 
<th height=25 > 
<B>恢复数据库</B> 
</th> 
</tr> 
<form method="post" action="databackup.asp?action=Restore"> 
<tr> 
<td height=100 > 
备份数据库路径(相对): 
<input type=text size=30 name=DBpath value="../Databackup/database.mdb"> <BR> 
当前数据库路径(相对): 
<input type=text size=30 name=backpath value="../mdb/database.mdb"><BR> 
<input type=submIT value="恢复数据"> <hr width="90%" align="center" color="#999999"> 
<font color="#666666">·注意:所有路径都是相对路径 </font></td> 
</tr> 
</form> 
</table> 
<% 
end if 
end sub 
sub backupdata() 
Dbpath=request.form("Dbpath") 
Dbpath=server.mappath(Dbpath) 
bkfolder=request.form("bkfolder") 
bkdbname=request.form("bkdbname") 
Set Fso=server.createobject("scripting.filesystemobject") 
if fso.fileexists(dbpath) then 
If CheckDir(bkfolder) = True Then 
fso.copyfile dbpath,bkfolder& "\\"& bkdbname 
else 
MakeNewsDir bkfolder 
fso.copyfile dbpath,bkfolder& "\\"& bkdbname 
end if 
response.wrITe "<font color=red>备份数据库成功,您备份的数据库路径为" &bkfolder& "\\"& bkdbname+"</font>" 
Else 
response.wrITe "<font color=red>找不到您所需要备份的文件。</font>" 
End if 
end sub 
'------------------检查某一目录是否存在------------------- 
Function CheckDir(FolderPath) 
folderpath=Server.MapPath(".")&"\\"&folderpath 
Set fso1 = CreateObject("Scripting.FileSystemObject") 
If fso1.FolderExists(FolderPath) then 
'存在 
CheckDir = True 
Else 
'不存在 
CheckDir = False 
End if 
Set fso1 = nothing 
End Function 
'-------------根据指定名称生成目录--------- 
Function MakeNewsDir(foldername) 
dim f 
Set fso1 = CreateObject("Scripting.FileSystemObject") 
Set f = fso1.CreateFolder(foldername) 
MakeNewsDir = True 
Set fso1 = nothing 
End Function 
%> 

 

标签:sql,server,数据库,备份,恢复
0
投稿

猜你喜欢

  • ASP的错误代码都有哪些?

    2009-10-28 18:15:00
  • 5步让你的CSS样式表成功减肥

    2009-08-02 21:27:00
  • JScript RuntimeObject检测全局污染

    2010-09-13 12:26:00
  • 在firefox里如何实现firebug的DOM inspect选择功能?

    2010-09-03 18:20:00
  • MySQL中两种快速创建空表的方式的区别

    2008-12-17 14:34:00
  • 国外新闻报纸排版布局设计欣赏

    2008-02-25 23:14:00
  • 扫盲大讲堂:SQL查询结果集对注入的影响及利用

    2009-09-05 09:49:00
  • 如何修改MySQL密码(方法大总结)

    2009-11-18 11:07:00
  • 八条常见的CSS错误及修复方法

    2010-04-08 16:54:00
  • asp如何读取注册表的信息?

    2009-11-19 21:18:00
  • CSS3的新特性

    2009-03-23 17:46:00
  • 利用CSS属性实现进度条的方式

    2010-02-25 12:31:00
  • 去除DW MX 2004表格宽度辅助

    2010-09-02 12:37:00
  • DBA_2PC_PENDING 介绍

    2009-02-28 10:59:00
  • CSS框架/命名/规则 注意要点

    2008-06-03 13:07:00
  • asp清理站点缓存代码

    2008-07-21 12:37:00
  • 纯ASP结合VML生成完美图-折线图

    2010-05-11 16:50:00
  • ASPImage组件的实现过程[图]

    2008-02-03 15:37:00
  • SQL Server中两种修改对象所有者的方法

    2009-01-15 13:10:00
  • asp如何在线更改密码?

    2010-06-26 12:22:00
  • asp之家 网络编程 m.aspxhome.com