asp mysql备份_asp.net 备份和恢复数据库

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingHanSoft.BusinessLogic;usingInsus.NET;usingCAF.DBUtility;usingSystem.IO;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Collections;usingHanSoft.SQLServerDAL;public partial classinformation_backDB : System.Web.UI.Page

{protected InsusDateTimeUtility objIdtu = newInsusDateTimeUtility();

InsusIOUtility objIotu= newInsusIOUtility();protected void Page_Load(objectsender, EventArgs e)

{if (!IsPostBack)

{

Data_Binding();

}

}private voidData_Binding()

{

DirectoryInfo dInfo= new DirectoryInfo(Server.MapPath("~/backSql"));this.gv_DataBasefile.DataSource =dInfo.GetFiles();this.gv_DataBasefile.DataBind();

}///

///备份数据库///

///

///

protected void Button1_Click(objectsender, EventArgs e)

{try{

BACKUP();

Label1.Text= "数据库备份成功!";

Data_Binding();

}catch(Exception ex)

{

Response.Write(ex.Message);

}

}///

///备份数据库方法///

private voidBACKUP()

{string DBname = "1220";string backUpDBname = DBname + "_" + objIdtu.GetDateTimeMillisecond();//这一步是数据库名+年月日+随机数

objIotu.MakeDirectory(Server.MapPath("~/backSql")); //这一步是在根目录下面生成一个文件夹,名叫 backsql

string str_sql = "BACKUP DATABASE [" + DBname + "] TO DISK = '" + Server.MapPath("~/").ToString() + "backSql\\" + backUpDBname + ".bak'";int i =SqlHelper.ExecuteNonQuery(str_sql);

}///

///还原数据库///

///

///

protected void gv_DataBasefile_RowCommand(objectsender, GridViewCommandEventArgs e)

{

SelectObjectIndexBLL SoIndexBLL= newSelectObjectIndexBLL();

SqlConnection connection= new SqlConnection("Data Source=192.168.1.98;User ID=sa;Password=123");string path_name =e.CommandArgument.ToString();string[] array ={ };string[] array1 ={ };

array= path_name.Split(',');string dbFileName = array[1].ToString();

array1= array[0].ToString().Split('_');string dbName = array1[0].ToString();

SqlCommand command= new SqlCommand("use master;restore database @name from disk=@path WITH REPLACE;", connection);string path = dbFileName + "//" + array[0]; //全路径

command.Parameters.AddWithValue("@name", dbName); //dbName还原目标数据库名

command.Parameters.AddWithValue("@path", path);

DataTable dt_spid= SoIndexBLL.GetDataList("select spid from master..sysprocesses where dbid=db_id('1220')").Tables[0];if (dt_spid.Rows.Count > 0)

{for (int i = 0; i < dt_spid.Rows.Count; i++)

{string sql = "kill" + Convert.ToString(dt_spid.Rows[i]["spid"]) + " ";//SqlDataAdapter sqldap = new SqlDataAdapter(sql, connection);//--------------1

SqlCommand commd= new SqlCommand(sql, connection);//----------2

connection.Open();

commd.ExecuteReader();//-------------2

connection.Close();

} Label2.Text= "数据库恢复成功!";

}

connection.Open();

command.ExecuteNonQuery();//-----------------1

connection.Close();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值