急!!数据库备份恢复时出现“无法处理,因为正由此会话使用”该如何解决
我用c#语言进行数据库开发,数据库备份时一切正常,可是到数据库恢复时就出现问题,总是弹出“无法处理数据库Test,因为它正由此会话使用……”,问各位高手如果解决,急啊……………………
代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page  
{
     protected void Page_Load(object sender, EventArgs e)
     {
     }
     protected void Button1_Click(object sender, EventArgs e)
     {
         string path=@"c:\Test.bak";
         string backupstr="backup database Test to disk='"+path+"';";
         SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=;");
         SqlCommand cmd = new SqlCommand(backupstr, con);
         try
         {
             con.Open();
             cmd.ExecuteNonQuery();
             this.Label1.Text = "备份成功!";
         }
         catch
         {
             this.Label1.Text = "备份失败!";
         }
         finally
         {
             con.Close();
         }
     }
     protected void Button2_Click(object sender, EventArgs e)
     {
         string path = @"c:\Test.bak";
         string restore="restore database Test from disk='"+path+"';";
         SqlConnection con=new SqlConnection("server=.;uid=sa;pwd=;");
         SqlCommand cmd=new SqlCommand(restore,con);
         try
         {
             con.Open();
             cmd.ExecuteNonQuery();
             this.Label1.Text = "恢复成功";
         }
         catch
         {
             this.Label1.Text = "恢复失败";
         }
         finally
         {
             con.Close();
         }
     }
}
------解决方案--------------------
先让数据库离线再执行还原操作,
alter database 
dbname set offline with rollback immediate;