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数据库还原
你断开数据库的所有连接,然后再试一下