日期:2014-05-17  浏览次数:21097 次

请教关于sql的备份问题。
请问,在asp中备份sql的时候,是否还判断备份地址是否存在或者已经备份了(就是下面的第一句里的to后面的内容)?
完整备份与差异备份各是怎么样使用?
望高手给详细的说一说。
********************************
VBScript code

<%
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
%>



------解决方案--------------------
完全备份就是把 整个数据库和 日志 全都备份一遍 数据量大的话 很麻烦 所以就需要差异备份

差异备份 前 必须在完全备份之后备份

比如说备份一个数据库 完全备份 + 差异备份1 + 差异备份2

还原的时候 完全还源 + 差异还源1 + 差异还原2
------解决方案--------------------
备份
sql = "backup database dbname to disk = 'x:/xx/xxx.bak'"
还原
sql = "restore database dbname from disk = 'x:/xx/xxx.bak' with replace"

------解决方案--------------------
用不着判断吧,直接把目标文件覆盖。
conn.execute("backup database 数据库名称 to disk= 'F:\data_base\back.dat'")
------解决方案--------------------
不一定要覆盖啊,你可以给每次备份的文件名中都标好时间日期
------解决方案--------------------
每次备份给文件起个名字,判断文件名是否存在,就可以了,其实,是否存在无所谓,只能你把最新的备份存储好,就可以了。