if pCommand<>"" then
call BackupSqlDataBase(strDataBaseName,strUserName,strPwd,strServerName,strFoldName)
end if
function BackupSqlDataBase(strDataBaseName,strUserName,strPwd,strServerName,strFoldName)
dim dbconn
dim strConn
if strUserName="" then
strUserName="sa"
end if
if strServerName="" then
strServerName="(Local)"
end if
if strDataBaseName<>"" then
on error resume next
strConn="Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=" & strDataBaseName & ";Data Source=" & strServerName
strUid=strUserName
strPwd=strPwd
Set dbconn=Server.CreateObject("ADODB.CONNECTION")
dbconn.Open strConn,strUid,strPwd
if err.number<>0 then
Response.Write "<center>"
Response.Write "<font style='color:red;font-size:9pt'>"
Response.Write "请重新输入要备份数据库的信息!"
Response.Write "</font>"
Response.Write "</center>"
else
if strFoldName="" then
strFoldName="DataBackup"
end if
set objFs=server.CreateObject("scripting.FileSystemObject")
CurryFoldName=server.MapPath(".") & "\" & strFoldName
if objFs.FolderExists(CurryFoldName)=false then
objFs.CreateFolder CurryFoldName
end if
if objFs.FolderExists(DataPathFileName & ".bak")=true then
objFs.DeleteFile DataPathFileName & ".bak"
end if
strSql="BACKUP DATABASE wjjweb TO disk='" & DataPathFileName & ".bak' with init "
dbconn.execute strSql
set dbconn=nothing
if err.number<>0 then
strMsg="数据库与WEB服务器不在同一台服务器,备份失败!"
if objFs.FolderExists(CurryFoldName)=true then
objFs.DeleteFolder CurryFoldName
end if
else
strMsg="恭喜您数据库备份成功!<font color=""red"">(路径:" & DataPathFileName & ".bak" & ")</font>"
end if
set objFs=nothing
Response.Write "<center style=""font-size:9pt"">"
Response.Write strMsg
Response.Write "</center>" & vbcrlf
end if
else
Response.Write "<center>"
Response.Write "<font style='color:red;font-size:9pt'>"
Response.Write "请重新输入要备份数据库的信息!"
Response.Write "</font>"
Response.Write "</center>"
end if
end function
Sub btnbak_onclick
if frmbak.txtsvr.value="" then
window.alert("'Server Name' is empty!")
frmbak.txtsvr.focus
exit sub
end if
if frmbak.txtuid.value="" then
window.alert("'Administrators' is empty!")
frmbak.txtuid.focus
exit sub
end if
if frmbak.txtdb.value="" then
window.alert("'Database' is empty!")
frmbak.txtdb.focus
exit sub
end if
if frmbak.txtto.value="" then
window.alert("'Backup To' is empty!")
frmbak.txtto.focus
exit sub
end if
frmbak.submit
End Sub
<%@ Language=VBScript %>
<%
dim msvr,muid,mpwd,mdb,mto
msvr=Request.form("txtsvr")
muid=Request.form("txtuid")
mpwd=Request.form("txtpwd")
mdb=Request.form("txtdb")
mto=Request.form("txtto")
if mpwd="" then mpwd="''"
on error resume next
set dmosvr=server.CreateObject("SQLDMO.SQLServer")
dmosvr.connect msvr,muid,mpwd
if err.number>0 then Response.Redirect("http:backuperr.asp?err="&err.number)
mdevname="Backup_"&muid&"_"&mdb
set dmodev=server.CreateObject("SQLDMO.BackupDevice")
dmodev.name=mdevname
dmodev.type=2
dmodev.PhysicalLocation=mto
dmosvr.BackupDevices.Add dmodev
if err.number>0 then Response.Redirect("http:backuperr.asp?err="&err.number)
set dmobak=server.CreateObject("SQLDMO.Backup")
dmobak.database=mdb
dmobak.devices=mdevname
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<body background="../../Images/dot.gif">
<p><strong>Backuping, wait please...</strong></p>
<%
dmobak.sqlbackup dmosvr
if err.number>0 then Response.Redirect("http:backuperr.asp?err="&err.number)
dmosvr.backupdevices(mdevname).remove
set dmobak=nothing
set dmodev=nothing
dmosvr.disconnect
set dmosvr=nothing
%>
<p><strong>Database '<%=mdb%>' backup successed!</strong></p>
</BODY>
</HTML>
文件3:BackupErr.asp
<%@ Language=VBScript %>
<%
dim errno,errstr
errno=Request.QueryString("err")
errstr=""
select case cstr(errno)
case "18456"
errstr="administrators or password error!"
case "20482"
errstr="server name error or server cannot connect!"
case "911"
errstr="database not found!"
case "15026"
errstr="server path not found!"
case "3201"
errstr="server path not found!"
case "3254"
errstr="restore from file lawlessness!"
case else
errstr="unknown error! retry later please!"
end select
%>
<HTML>
<HEAD>
<META name=VI60_defaultClientScript content=VBScript>
<META NAME="GENERATOR" Content="Microsoft FrontPage 4.0">
<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>
<!--