改进的ASP备份SQL Server数据库

1<form action="?action=backupdatabase" method="post" name="myform">   
2选择操作:<input id="act_backup" name="act" type="radio" value="backup"/><label for="act_backup">备份</label>
3<input id="act_restore" name="act" type="radio" value="restore"/><label for="act_restore">恢复</label>
4<br/>数据库名:<input ```"="" databasename")="" name="databasename" type="text" value="```
5=request("/>
6<br/>文件路径:<input name="bak_file" type="text" value="c:\$1.bak"/>(备份或恢复的文件路径)<br/>
7<input id="submit1" name="submit1" type="submit" value="确定"/>
8</form>
 1   
 2'SQL Server 数据库的备份与恢复!   
 3if request("action")="backupdatabase" Then   
 4dim sqlserver,sqlname,sqlpassword,sqlLoginTimeout,databasename,bak_file,act   
 5sqlserver = "localhost"   
 6sqlname = "sa"   
 7sqlpassword ="password"   
 8sqlLoginTimeout = 15   
 9databasename = trim(request("databasename"))   
10bak_file = trim(request("bak_file"))   
11bak_file = replace(bak_file,"$1",databasename)   
12act = lcase(request("act"))   
13if databasename = "" then   
14response.write "input database name"   
15else   
16if act = "backup" then   
17Set srv=Server.CreateObject("SQLDMO.SQLServer")   
18srv.LoginTimeout = sqlLoginTimeout   
19srv.Connect sqlserver,sqlname, sqlpassword   
20Set bak = Server.CreateObject("SQLDMO.Backup")   
21bak.Database=databasename   
22bak.Devices=Files   
23bak.Action = 0   
24bak.Initialize = 1   
25'bak.Replace = True   
26bak.Files=bak_file   
27bak.SQLBackup srv   
28if err.number>0 then   
29response.write err.number&"

<font color="red"><br/>"
response.write err.description&amp;"</font>

1"   
2end if   
3Response.write "

<font color="green">备份成功!</font>

 1"   
 2elseif act="restore" then   
 3'恢复时要在没有使用数据库时进行!   
 4Set srv=Server.CreateObject("SQLDMO.SQLServer")   
 5srv.LoginTimeout = sqlLoginTimeout   
 6srv.Connect sqlserver,sqlname, sqlpassword   
 7Set rest=Server.CreateObject("SQLDMO.Restore")   
 8rest.Action=0 ' full db restore   
 9rest.Database=databasename   
10rest.Devices=Files   
11rest.Files=bak_file   
12rest.ReplaceDatabase=True 'Force restore over existing database   
13if err.number>0 then   
14response.write err.number&"

<font color="red"><br/>"
response.write err.description&amp;"</font>

1"   
2end if   
3rest.SQLRestore srv   
4Response.write "

<font color="green">恢复成功!</font>

1"   
2else   
3Response.write "

<font color="red">没有选择操作</font>

1"   
2end if   
3end if   
4end if   
Published At
Categories with Web编程
Tagged with
comments powered by Disqus