asp备份数据库
备份SQL数据库:右击数据库名称,出来所有任务,选择备份数据库,选择路径就行了;
还原数据库:您先建一个sql数据录。右击数据库名称,选择所有任务,还原数据库,在选择“从设备”找到你那个备份的文件选择就好了。
2. 急~~~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
%>
3. 在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 为备份文件路径;
以上两条语句可以分别封装为两个方法可方便调用。