<BODY>
<form method=post name=myform>
<%if action=restore then%><INPUT TYPE=hidden name=action value=restore>準備恢復數據庫。 。 。
<%elseif action=backup then%><INPUT TYPE=hidden name=action value=backup>準備備份數據庫。 。 。 <%else%>
選擇操作:
<INPUT TYPE=radio name=action id=act_backup value=backup><label for=act_backup>備份</label>
<INPUT TYPE=radio name=action id=act_restore value=restore><label for=act_restore>恢復</label><%end if%>
<br>數據庫名:<INPUT TYPE=text name=databasename value=50forum>
<br>文件路徑:<INPUT TYPE=text name=bak_file value=50forum.bak>(備份或恢復的文件路徑)<br>
<input type=submit value=確定>
</form>
<%
'SQL Server 數據庫的備份與恢復!
'http://www.tfxy.com
dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act
sqlserver = localhost 'sql服務器
sqlname = sa '用戶名
sqlpassword = sa '密碼
sqlLoginTimeout = 15 '登陸超時
databasename = trim(request(databasename))
bak_file = trim(request(bak_file))
bak_file = Server.MapPath(backup/&bak_file)
act = lcase(request(action))
if databasename = then
response.write input database name
else
if act = backup then
Set srv = Server.CreateObject(SQLDMO.SQLServer)
srv.LoginTimeout = sqlLoginTimeout
srv.Connect sqlserver,sqlname, sqlpassword
Set bak = Server.CreateObject(SQLDMO.Backup)
bak.Database = databasename
bak.Devices = Files
bak.Files = bak_file
bak.Action = 0
bak.Initialize = 1
'bak.ReplaceDatabase = True
bak.SQLBackup srv
if err.number>0 then
response.write err.number&<font color=red><br>
response.write err.description&</font>
end if
Response.write <font color=green>備份成功!</font>
srv.disconnect
Set srv = nothing
Set bak = nothing
elseif act = restore then
'恢復時要在沒有使用數據庫時進行!
Set srv=Server.CreateObject(SQLDMO.SQLServer)
srv.LoginTimeout = sqlLoginTimeout
srv.Connect sqlserver,sqlname, sqlpassword
Set rest = Server.CreateObject(SQLDMO.Restore)
rest.Action = 0 ' full db restore
rest.Database = databasename
rest.Devices = Files
rest.Files = bak_file
rest.ReplaceDatabase = True 'Force restore over existing database
if err.number>0 then
response.write err.number&<font color=red><br>
response.write err.description&</font>
end if
rest.SQLRestore srv
Response.write <font color=green>恢復成功!</font>
srv.disconnect
Set srv = nothing
Set rest = nothing
else
Response.write <font color=red>沒有選擇操作</font>
end if
end if
%>
</BODY>
</HTML>