天天看点

数据库的备份和还原代码

备份:代码如下

string SqlStr1 = "Server=(local);database='" + this.DropDownList1.SelectedValue + "';Uid=sa;Pwd=";

  string SqlStr2 = "backup database " + this.DropDownList1.SelectedValue + " to disk='" + this.TextBox1.Text.Trim() + ".bak'";

  SqlConnection con = new SqlConnection(SqlStr1);

  con.Open();

  try

  {

  if (File.Exists(this.TextBox1.Text.Trim()))

  {

  Response.Write(" ");

  return;

  }

  SqlCommand com = new SqlCommand(SqlStr2, con);

  com.ExecuteNonQuery();

  Response.Write(" ");

  }

  catch (Exception error)

  {

  Response.Write(error.Message);

  Response.Write(" ");

  }

  finally

  {

  con.Close();

  }

还原数据库代码如下:

string path = this.FileUpload1.PostedFile.FileName; //获得备份路径及数据库名称

  string dbname = this.DropDownList1.SelectedValue;

  string SqlStr1 = "Server=(local);database='" + this.DropDownList1.SelectedValue + "';Uid=sa;Pwd=";

  string SqlStr2 = "use master restore database " + dbname + " from disk='" + path + "'";

  SqlConnection con = new SqlConnection(SqlStr1);

  con.Open();

  try

  {

  SqlCommand com = new SqlCommand(SqlStr2, con);

  com.ExecuteNonQuery();

  Response.Write(" ");

  }

  catch (Exception error)

  {

  Response.Write(error.Message);

  Response.Write(" ");

  }

  finally

  {

  con.Close();

  }

若要实现自动还原和备份数据库,只需写个定时器定时调用方法即可!