asp還原資料庫
A. asp.net中備份還原資料庫
備份與還原資料庫是資料庫指令,與其去記全代碼不如打開sql跟蹤然後操作備份,還原再看跟蹤里的執行代碼。很簡單的。
B. 急急~~~ASP備份和恢復SQL資料庫的操作方法
這串代碼是我給你的吧,當時我是從那參考資料里摘出來的,這段代碼備份的時候沒有關閉資料庫連接。你剛剛備份完就恢復,當然要出錯了,你改為下面的,然後重起下IIS和SQL SERVER試試看。
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
cnn.close
set cnn=nothing
%>
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
cnn.close
set cnn=nothing
%>
C. 關於ASP用代碼把.bak備份文件恢復資料庫
可以的,給你個代碼,保存為test.asp,然後在路徑中輸入備份資料庫的路徑,比如:Data/backup.bak即可
<%'連接資料庫
DBName="Data/mydata.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DBName)
conn.Open connstr
%>
<%'恢復數據函數
sub RestoreData()
dim backpath,fso
backpath=request.form("backpath")
backpath=server.mappath(backpath)
if dbpath="" then
response.write "請輸入您要恢復成的資料庫全名"
end if
Set Fso=server.createobject("scripting.filesystemobject")
if fso.fileexists(dbpath) then
fso.file Backpath,Dbpath
response.write "<a href=javascript:history.back(-1)>成功恢復數據=====點擊返回上一頁</a>"
else
response.write "備份目錄下並無您的備份文件!"
end if
end sub
%>
<%
'***************************************************
'函數名:IsObjInstalled
'作 用:檢查組件是否已經安裝
'參 數:strClassString ----組件名
'返回值:True ----已經安裝
' False ----沒有安裝
'***************************************************
Function IsObjInstalled(strClassString)
On Error Resume Next
IsObjInstalled = False
Err = 0
Dim xTestObj
Set xTestObj = Server.CreateObject(strClassString)
If 0 = Err Then IsObjInstalled = True
Set xTestObj = Nothing
Err = 0
End Function
%>
<%
dim dbpath
dim ObjInstalled
dbpath=server.mappath(DBName)
ObjInstalled=IsObjInstalled("Scripting.FileSystemObject")
Conn.Close
%>
<script language=JavaScript>
function check(theform)
{
if (theform.backpath.value.length<5)
{
alert("備份資料庫路徑不能為空");
theform.backpath.focus();
return(false);
}
}
</script>
<tr align="center">
<td height="40"><form name="form2" method="post" action="test.asp?action=Restore" onsubmit="return check(this);">
<%
if request("action")="Restore" then
call RestoreData()
else
%>備份資料庫路徑(相對):<input name=backpath type=text id="backpath" value="" size=50 maxlength="200"><input name="submit"
type=submit value=" 恢復數據"></td>
</tr>
</table>
<%
end if
%></td>
</tr>
D. ASP.NET備份還原MYSQL資料庫
把MYSQL里的mysqlmp 這個文件復制到你所在目錄下就可以吧,如:/backup/ /// <summary>
/// 備份MYSQL數據
/// </summary>
/// <param name="db_ip">IP地址</param>
/// <param name="db_port">埠</param>
/// <param name="db_user">用戶名</param>
/// <param name="db_pwd">密碼</param>
/// <param name="db_name">資料庫名</param>
/// <param name="backup_path">備份路徑</param>
/// <returns></returns>
public string Exec(string db_ip, string db_port, string db_user, string db_pwd, string db_name, string backup_path)
{
string _mp = Server.MapPath("/backup");
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
string strOutput = null;
try
{
p.Start();
p.StandardInput.WriteLine("@echo 開始對" + db_ip + "伺服器上" + db_name + "執行備份操作");
p.StandardInput.WriteLine("IF NOT EXIST " + backup_path + " md " + backup_path + "");
p.StandardInput.WriteLine("@" + _mp + "\\mysqlmp -h" + db_ip + " -P" + db_port + " -u" + db_user + " -p" + db_pwd + " --opt " + db_name + " > " + backup_path + "\\" + db_name + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".sql");
p.StandardInput.WriteLine("@echo 對" + db_ip + "伺服器MYSQL資料庫文件" + db_name + "備份成功");
p.StandardInput.WriteLine("@echo 備份文件所在路徑 " + backup_path + "\\" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".sql");
p.StandardInput.WriteLine("exit");
strOutput = p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
}
catch (Exception e)
{
strOutput = e.Message;
}
return strOutput;
}
E. 在ASP.net中如何實現資料庫的備份與還原
簡單的做法(執行Sql語句):
1、資料庫備份:
use master;backup database @name to disk=@path;
2、資料庫還原:
use master;restore database @name from disk=@path With Replace;
註:
Sql參數:@name 為資料庫名稱,@path 為備份文件路徑;
以上兩條語句可以分別封裝為兩個方法可方便調用。
F. asp.net 資料庫備份還原 怎麼做
如果是SQL Server 資料庫,現在資料庫代理裡面創建備份資料庫的作業(具體看創建向導),在備份的T-SQL語句裡面輸入 DECLARE @sql VARCHAR(500),@DBNAME SYSNAME
SET @DBNAME = 'DBTest' --DBTest修改為要備份資料庫名字
SET @sql = 'BACKUP DATABASE [' + @DBNAME + '] TO DISK = ''F:\DBBACKUP\' + @DBNAME + '_' +CONVERT(VARCHAR,GETDATE(),112)+ '.BAK''' --以資料庫名加下劃線加時間作為備份文件名
EXEC(@sql) 創建好作業後在.NET代碼裡面執行作業的存儲過程 EXEC sp_start_job @job_name = 'ABC' (ABC為你創建的作業名字,至於怎麼在代碼裡面怎麼執行存儲過程這里就不說了,網上很多)。附:記得啟動SQL Server的AGENT服務,最好設置為自動啟動。
G. 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。
H. 用ASP.NET 2.0編寫代碼還原資料庫,有的可以還原,有的不可以還原,出現錯誤提示:尚未備份資料庫。求助!
sql2005還原時出現下面的錯誤,System.Data.SqlClient.SqlError: 尚未備份資料庫 "***" 的日誌尾部。如果該日誌包含您不希望丟失的工作,請使用 BACKUP LOG WITH NORECOVERY 備份該日誌。請使用 RESTORE 語句的 WITH REPLACE 或 WITH STOPAT 子句來只覆蓋該日誌的內容。 (Microsoft.SqlServer.Smo)
原因分析
這是因為在線還原的資料庫在最後備份後又產生了新的日誌,所以按照默認設置的備份選項,系統將提示備份日誌尾部以免造成事務中斷。
解決方法
如果需要備份尾部日誌則進行備份。如果不需要,則可以在還原資料庫的的選項卡中選擇【覆蓋現有資料庫】復選框。
I. 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
%>
大體是這樣您修改下吧。
J. asp sql資料庫還原
你斷開資料庫的所有連接,然後再試一下