sql sever2005数据库备份和还原(Asp.net C#)

时间:2021-01-01 09:25:28
// 备份按钮
protected void BtnBack_Click(object sender, EventArgs e)        {                        string saveAway = "D:\\S2.bak";//备份文件保存位置            string cmdText = @"use master;backup database TrainSearch to disk='" + saveAway + "'";//TrainSearch数据库名称,你要改为你自己的            SqlCommand cmd = new SqlCommand();            cmd.CommandText = cmdText;            cmd.Connection = con;            con.Open();            cmd.ExecuteNonQuery();                       Common.ShowMessage.Show(Page, "yes", "备份成功!");            con.Close();            BackUpTime bt = new BackUpTime();            string time = DateTime.Now.ToString();            if (bt.EditBackTime(1, time))            {            }            else            {             }                    }
//还原按钮        protected void BtnHf_Click(object sender, EventArgs e)        {            string strsql_kill = "SELECT spid FROM sys.sysprocesses ,sys.sysdatabases WHERE sys.sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='TrainSearch'";            DataSet ds = new DataSet();            SqlCommand cmdd = new SqlCommand();                        cmdd.Connection = con;            cmdd.CommandText = strsql_kill;            con.Open();            cmdd.ExecuteNonQuery();            SqlDataAdapter sda = new SqlDataAdapter(cmdd);            sda.Fill(ds);            ArrayList list = new ArrayList();            for (int j = 0; j < ds.Tables[0].Rows.Count; j++)            {                list.Add(ds.Tables[0].Rows[j][0].ToString());            }            for (int i = 0; i < list.Count; i++)            {                cmdd = new SqlCommand("KILL " + list[i].ToString(), con);                cmdd.ExecuteNonQuery();            }            con.Close();            string cmdText = @"use master;restore database TrainSearch from disk='D:\S2.bak' with REPLACE";//D:\S2.bak本分数据库源            SqlCommand cmd = new SqlCommand();            cmd.CommandText = cmdText;            cmd.Connection = con;            con.Open();            cmd.ExecuteNonQuery();            Common.ShowMessage.Show(Page, "yes", "还原成功!");            con.Close();        }
 
当然备份和还原数据库你都可以自己选择路径,我这里了方便就没加那个功能,想实现可以加一个FIleUpload控件用于浏览数据源或者备份路径