當前位置:首頁 » 參考文獻 » asp備份資料庫

asp備份資料庫

發布時間: 2021-03-24 09:58:48

A. 急~~~ASP備份和恢復SQL資料庫的操作方法

首先,你要這樣來備份資料庫:

SQL="backup database 資料庫名 to disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"' with INIT"

這樣你的備份將覆蓋原來的同名備份(如果有的話),否則備份將附加在原來的備份上,不僅文件越來越大,日後還原時還會發生各種問題。

其次,資料庫在有用戶連接時是不能恢復的。

所以你要備份的話,不能鏈接到你的資料庫,要鏈接到master資料庫,使用:

cnn.open "driver={SQL Server};Server=伺服器名;uid=sa;pwd=;database=master"

再次,僅僅你不鏈接到資料庫,但不能保證沒有別人鏈接資料庫,所以還要斷開所有用戶到資料庫的連接,才能開始還原。可以使用下列語句來進行:

declare backup_cursor cursor global for select 'kill '+rtrim(spid) from master.dbo.sysprocesses where dbid=db_id('資料庫名') exec sp_msforeach_worker '?'

所以,你的程序要改成這樣:

1、備份
<%
SQL="backup database 資料庫名 to disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"' with INIT"
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
cnn.close
set cnn=nothing
%>

2、恢復
<%
aSQL="declare backup_cursor cursor global for select 'kill '+rtrim(spid) from master.dbo.sysprocesses where dbid=db_id('資料庫名') exec sp_msforeach_worker '?'"

bSQL="Restore database 資料庫名 from disk='"&Server.MapPath("backup")&"\"&"backuptext.dat"&"'"

set cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=伺服器名;uid=sa;pwd=;database=master"
cnn.execute aSQL
cnn.execute bSQL
on error resume next
if err<>0 then
response.write "錯誤:"&err.Descripting
else
response.write "數據恢復成功!"
end if
cnn.close
set cnn=nothing
%>

B. ASP中怎麼實現SQL資料庫備份,恢復

1、備份
<%
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="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
%>

註:以上語句是把數據備份到磁碟的backup目錄下,文件名為backuptext.dat。

C. 如何用asp代碼實現數據備份和恢復

<form name="form1" method="post" action="?action=bf">
<table width="90%" border="0" align=center cellpadding="5" cellspacing="1" bgcolor="#336699" class="tableBorder">
<tr>
<th width="593" height=25 bgcolor="#FFFFFF" > <B>備份數據</B>( 需要FSO支持,FSO相關幫助請看微軟網站 ) </th>
</tr>
<tr>
<td height=100 bgcolor="#FFFFFF" class="forumrow">
<span class="STYLE1">
<%
if request.QueryString("action")="bf" then
Dbpath=request.form("Dbpath")
backpath=request.form("backpath")&".mdb"
if dbpath="" then
response.write "請輸入您要您要備份的資料庫"
else
Dbpath=server.mappath(Dbpath)
end if
backpath=server.mappath(backpath)
Set Fso=server.createobject("scripting.filesystemobject")
if fso.fileexists(dbpath) then
fso.file Dbpath,Backpath
response.write "數據備份成功!"
else
response.write "資料庫地址不存在,請檢查CONN.ASP中的DB=這一項是否是絕對地址!"
end if
end if%>
</span> <div align="center">
<p>備份資料庫路徑(相對):
<input name=backpath type=text id="backpath" value="bak\jester_bak" size=30>
<br>
目標資料庫路徑(相對):
<input name=DBpath type=text id="DBpath" value="<%=db%>" size=30>
<BR>
<BR>

<input name="submit" type=submit value="備份數據">
</p>
<p>*必須是絕對的資料庫地址<br>
</p>
</div></td>
</tr>
</table>
<p> </p>
</form>
<form name="form1" method="post" action="?action=hy">
<font color=red class="STYLE1">
<%
if request.QueryString("action")="hy" 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)
Set Fso=server.createobject("scripting.filesystemobject")
if fso.fileexists(dbpath) then
fso.file Dbpath,Backpath
response.write "成功恢復數據!"
else
response.write "備份目錄下並無您的備份文件!"
end if
end if%>
</font> <table width="80%" height="1" border="0" align=center cellpadding="5" cellspacing="1" bgcolor="#336699" class="tableBorder">
<tr>
<th width="593" height=25 bgcolor="#FFFFFF" > <B>恢復論壇數據</B>( 需要FSO支持,FSO相關幫助請看微軟網站 ) </th>
</tr>
<tr>
<td height=100 bgcolor="#FFFFFF" class="forumrow"> 備份資料庫路徑(相對):
<input type=text size=30 name=DBpath value="bak\jester_bak.Mdb">
<BR>
目標資料庫路徑(相對):
<input name=backpath type=text id="backpath" value="<%=db%>" size=30>
<BR>
填寫您當前使用的資料庫路徑,如不想覆蓋當前文件,可自行命名(注意路徑是否正確),然後修改conn.asp文件,如果目標文件名和當前使用資料庫名一致的話,不需修改conn.asp文件<BR>

<input name="submit" type=submit value="恢復數據">
<br>
-----------------------------------------------------------------------------------------<br>
在上面填寫本程序的資料庫路徑全名,本程序的默認備份資料庫文件為,請按照您的備份文件自行修改。<br>
您可以用這個功能來備份您的法規數據,以保證您的數據安全!<br>
注意:所有路徑都是相對與程序空間根目錄的相對路徑 </td>
</tr>
</table>
<p></p>
</form>
<span class="STYLE1">
<%
if request.QueryString("action")="ys" then
dim dbpath,boolIs97
if request("Dbpath")<>"" then Dbpath=request("Dbpath") end if
if request("Dbpath")="" then
if request("bkfolder")<>"" then bkfolder=request("bkfolder") else bkfolder="spubbsbak" end if
if request("bkdbname")<>"" then bkdbname=request("bkdbname") else bkdbname="spubbs" end if
bkdbname=bkdbname&"#.asp"
Dbpath=bkfolder&"\"&bkdbname
end if
'dbpath = request("dbpath")
if request("boolIs97")<>"" then boolIs97=request("boolIs97") else boolIs97=true end if
'boolIs97 = request("boolIs97")

If dbpath <> "" Then
dbpath = server.mappath(dbpath)
response.write(CompactDB(dbpath,boolIs97))
End If

'=====================壓縮參數=========================
Function CompactDB(dbPath, boolIs97)
Dim fso, Engine, strDBPath,JET_3X
strDBPath = left(dbPath,instrrev(DBPath,"\"))
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists(dbPath) Then
fso.CopyFile dbpath,strDBPath & "temp.mdb"
Set Engine = CreateObject("JRO.JetEngine")

If boolIs97 = "True" Then
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb;" _
& "Jet OLEDB:Engine Type=" & JET_3X
Else
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb"
End If

fso.CopyFile strDBPath & "temp1.mdb",dbpath
fso.DeleteFile(strDBPath & "temp.mdb")
fso.DeleteFile(strDBPath & "temp1.mdb")
Set fso = nothing
Set Engine = nothing

CompactDB = "你的資料庫, " & dbpath & ", 已經壓縮成功!" & vbCrLf

Else
CompactDB = "資料庫名稱或路徑不正確. 請重試!" & vbCrLf
End If

End Function

end if%>
</span>
<form action="?action=ys" method="post">

<table width="80%" height="1" border="0" align=center cellpadding="5" cellspacing="1" bgcolor="#336699" class="tableBorder">
<tr>
<td width="581" height=25 bgcolor="#FFFFFF" class="forumrow"><b>注意:</b><br>
輸入資料庫所在相對路徑,並且輸入資料庫名稱(正在使用中資料庫不能壓縮,請選擇備份資料庫進行壓縮操作) </td>
</tr>
<tr>
<td bgcolor="#FFFFFF" class="forumrow">壓縮資料庫:
<input type="text" name="dbpath" value=<%=db%>>

<input name="submit3" type="submit" value="開始壓縮"></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" class="forumrow"><input type="checkbox" name="boolIs97" value="True">
如果使用 Access 97 資料庫請選擇 (默認為 Access 2000 資料庫)<br>
<br></td>
</tr>
</table> </form>

D. ASP實現SQL資料庫備份 還原!!!!!!!!

<% '=========================資料庫處理=============================================
IF Request.form("adminDatabase")<>"" Then
call CheckAdminLogin("資料庫管理")
ZD_AdminDatabase=Request.form("adminDatabase")
select case ZD_AdminDatabase
case "Compact"
osMessage=CompactDatabase()
case "backup"
osMessage=BackupDatabase()
case "Restore"
osMessage=RestoreDatabase()
case else
osMessage=GetErrMessage()
End select
End IF
%>

<%
Function updateDatabase()
Dim resultMessage
'On Error Resume Next

updateDatabase = resultMessage

End Function
%>

<%

Function CompactDatabase()
Set Conn=Nothing
Dim FSO,Engine
Set FSO=Server.CreateObject("Scripting.FileSystemObject")
IF FSO.FileExists(Server.Mappath(ZD_DataName)) Then
' Response.Write "<div id=""Layer1"" style=""position:absolute; left:220px; top:153px; width:372px; height:95px; z-index:1"" class=""tdbg3""></div>"
' Response.Write "<div id=""Layer2"" style=""position:absolute; left:222px; top:155px; width:371px; height:93px; z-index:1; overflow: hidden;"" class=""tdbg1"">資料庫壓縮中....請等待....</div>"
Set Engine = CreateObject("JRO.JetEngine")
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath(ZD_DataName), "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath(ZD_DataName & ".temp")
FSO.CopyFile Server.Mappath(ZD_DataName & ".temp"),Server.Mappath(ZD_DataName)
FSO.DeleteFile(Server.Mappath(ZD_DataName & ".temp"))
Set FSO = Nothing
Set Engine = nothing
CompactDatabase = "<span class=""importantText"">壓縮資料庫成功!!</span>"
'call SaveLog(Session("member"),"成功操作",now(),"資料庫壓縮",getIP(),true)
End If
End Function

Function BackupDatabase()
Set Conn=Nothing
Set FSO=Server.CreateObject("Scripting.FileSystemObject")
FSO.CopyFile Server.Mappath(ZD_DataName),Server.Mappath(ZD_DataName & ".bak")
Set FSO = Nothing
BackupDatabase = "<span class=""importantText"">資料庫備份成功!!</span>"
'call SaveLog(Session("member"),"操作成功",now(),"資料庫備份",getIP(),true)
End Function

Function RestoreDatabase()
Application.Contents.Removeall()
Set Conn=Nothing
Set FSO=Server.CreateObject("Scripting.FileSystemObject")
IF FSO.FileExists(Server.Mappath(ZD_DataName & ".bak")) Then
FSO.CopyFile Server.Mappath(ZD_DataName & ".bak"),Server.Mappath(ZD_DataName)
Set FSO = Nothing
RestoreDatabase = "<span class=""importantText"">資料庫恢復成功!!</span>"
'call SaveLog(Session("member"),"操作成功",now(),"資料庫恢復",getIP(),true)
Else
Set FSO = Nothing
RestoreDatabase = "<span class=""importantText"">不存在有備份文件!</span>"
'call SaveLog(Session("member"),"操作失敗",now(),"資料庫恢復",getIP(),false)
End IF
End Function

%>

大體是這樣您修改下吧。

E. 如何用asp做access資料庫備份

用asp做access資料庫備份
<% 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 %>

F. 怎樣用ASP備份SQL2000資料庫

ASP備份和恢復SQL資料庫的操作方法:
1、備份
<%
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="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
%>

G. asp +access 怎樣實現資料庫備份

<% dim action dim admin_flag Function finddir(filepath) finddir="" for i=1 to len(filepath) if left(right(filepath,i),1)="/" or left(right(filepath,i),1)="\" then abc=i exit for end if next if abc <> 1 then finddir=left(filepath,len(filepath)-abc+1) end if end Function action=trim(request("action")) dim dbpath,bkfolder,bkdbname,fso,fso1 Dim uploadpath '備份數據 select case action case "BackupData" '備份數據 if request("act")="Backup" then call updata() else call BackupData() end if case "RestoreData" '恢復數據 dim backpath if request("act")="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) Set Fso=server.createobject("scripting.filesystemobject") if fso.fileexists(dbpath) then fso.file Dbpath,Backpath response.write "<br>" response.write "<br>" response.write "<br>" response.write "<center>成功恢復數據!" response.write "</center>" else response.write "備份目錄下並無您的備份文件!" end if else call RestoreData() end if end select '====================備份資料庫========================= sub BackupData() If IsSqlDataBase = 1 Then SQLUserReadme() Exit Sub End If %>

H. asp如何備份mdb資料庫

Function CopyFiles(TempSource,TempEnd)
DimFSO
Set FSO =Server.CreateObject("Scripting.FileSystemObject")
IF FSO.FileExists(TempEnd) then
Response.Write "目標備份文件 <b>"& TempEnd &"</b> 已存在,請先刪除!"
Set FSO=Nothing
Exit Function
End IF
IFFSO.FileExists(TempSource) Then
Else
Response.Write "要復制的源資料庫文件<b>"&TempSource&"</b>不存在!"
Set FSO=Nothing
Exit Function
End If
FSO.CopyFileTempSource,TempEnd
Response.Write "已經成功復制文件<b>"&TempSource&"</b>到<b>"&TempEnd&"</b>"
Set FSO =Nothing
End Function

使用如下:

db="/Article/UploadFiles/200710/"&Title&""
TempSource= Server.MapPath(db)
db1="/Article/PicFile/"&Title&""
'db1=Replace(db1,"200708/","")
TempEnd=Server.MapPath(db1)
Call CopyFiles(TempSource,TempEnd)
Response.Write TempSource
Response.Write "<br>"
Response.Write TempEnd

I. 用asp實現資料庫備份

用FileSystemObject將資料庫復制一份

J. asp怎麼進行資料庫備份

主要看你是啥資料庫了。
如果是ACCESS,可以直接復制到其他盤
如果是SQL
SEVER,要進入企業管理器,然後對資料庫點右鍵--所有任務--資料庫備份,選擇指定的路徑進行備份

熱點內容
塗鴉論文 發布:2021-03-31 13:04:48 瀏覽:698
手機資料庫應用 發布:2021-03-31 13:04:28 瀏覽:353
版面217 發布:2021-03-31 13:04:18 瀏覽:587
知網不查的資源 發布:2021-03-31 13:03:43 瀏覽:713
基金贖回參考 發布:2021-03-31 13:02:08 瀏覽:489
懸疑故事範文 發布:2021-03-31 13:02:07 瀏覽:87
做簡單的自我介紹範文 發布:2021-03-31 13:01:48 瀏覽:537
戰略地圖參考 發布:2021-03-31 13:01:09 瀏覽:463
收支模板 發布:2021-03-31 13:00:43 瀏覽:17
電氣學術會議 發布:2021-03-31 13:00:32 瀏覽:731