研究了一天才研究出下面这些代码,之后我又将链接密码帐号字串加密,这样可以更安全.
思路就是断开数据库的链接,然后还原.网上多数是用储存过程杀死链接进程.那样比较烦.而且会导致SQLserver出错
rs.Close
conn.Close
set rs = nothing
set conn = nothing ' 断开数据库链接
Set conn = Server.CreateObject( " ADODB.Connection " )
ConnStr = " PROVIDER=SQLOLEDB;uid=sa;Password=sa;database=master " ' 进入master数据库
conn.open ConnStr
sql = " alter database mydb set offline with rollback immediate " ' 数据库脱机
conn.Execute sql
sql = " restore database mydb from disk='c:/sqlbackup.dat' " ' 数据库备份
conn.Execute sql
sql = " alter database mydb SET online with rollback immediate " ' 数据库联机
conn.Execute sql
conn.Close
set conn = nothing
call connectdb() ' 重新链接数据库(自制函数,略)
conn.Close
set rs = nothing
set conn = nothing ' 断开数据库链接
Set conn = Server.CreateObject( " ADODB.Connection " )
ConnStr = " PROVIDER=SQLOLEDB;uid=sa;Password=sa;database=master " ' 进入master数据库
conn.open ConnStr
sql = " alter database mydb set offline with rollback immediate " ' 数据库脱机
conn.Execute sql
sql = " restore database mydb from disk='c:/sqlbackup.dat' " ' 数据库备份
conn.Execute sql
sql = " alter database mydb SET online with rollback immediate " ' 数据库联机
conn.Execute sql
conn.Close
set conn = nothing
call connectdb() ' 重新链接数据库(自制函数,略)