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

作者:袖梨 2023-09-04

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

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、恢复sqlserver

代码如下:

<%

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 >

&nbsp;&nbsp;<B>数据库备份</B>

</th>

</tr>

<form method="post" action="databackup.asp?action=Backup">

<tr>

<td height=100 style="line-height:150%">

&nbsp;&nbsp;

当前数据库路径(相对路径):

<input type=text size=15 name=DBpath value="../mdb/database.mdb"><BR>

&nbsp;&nbsp; 备份数据库目录(相对路径):

<input type=text size=15 name=bkfolder value=../Databackup>&nbsp;如目录不存在,程序将自动创建<BR>

&nbsp;&nbsp; 备份数据库名称(填写名称):

<input type=text size=15 name=bkDBname value=database.mdb> &nbsp;如备份目录有该

文件,将覆盖,如没有,将自动创建<BR>

&nbsp;&nbsp;<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 >

&nbsp;&nbsp;<B>恢复数据库</B>

</th>

</tr>

<form method="post" action="databackup.asp?action=Restore">

<tr>

<td height=100 >

&nbsp;&nbsp;备份数据库路径(相对):

<input type=text size=30 name=DBpath value="../Databackup/database.mdb">&nbsp;&nbsp;<BR>

&nbsp;&nbsp;当前数据库路径(相对):

<input type=text size=30 name=backpath value="../mdb/database.mdb"><BR>

&nbsp;&nbsp;<input type=submIT value="恢复数据"> <hr width="90%" align="center" color="#999999">

&nbsp;&nbsp;<font color="#666666">·注意:所有路径都是相对路径 &nbsp;&nbsp;</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

%>

相关文章

精彩推荐