asp.net 备份还原数据库

1:客户端

 

<table border="0" style="width: 60%">
  <tr><td colspan="2" style="height: 5px">
      数据库还原和备份:</td></tr>
  <tr><td style="width: 171px; height: 23px;">
      请选择数据库:</td><td align="left" style="width: 358px; height: 23px;">
    <asp:DropDownList ID="ddlDatabaseList" runat="server" Width="297px">
    </asp:DropDownList></td></tr>
  <tr><td style="width: 171px; height: 18px;">
      要备份的文件名:</td><td align="left" style="width: 358px; height: 18px">
    <asp:TextBox ID="txtDbFileName" runat="server" Width="158px" OnTextChanged="txtDbFileName_TextChanged"></asp:TextBox>
          <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtDbFileName"
              ErrorMessage="数据库名不能空"></asp:RequiredFieldValidator></td></tr>
  <tr><td style="width: 171px">
      操作选项:</td><td align="left" style="width: 358px">
    <asp:RadioButton ID="rbBackup" runat="server" Checked="True" GroupName="action" Text="备份" />
    <asp:RadioButton ID="rbRestore" runat="server" GroupName="action" Text="还原" /></td></tr>
    <tr><td style="width: 171px; height: 40px;">
        操作:<asp:Label ID="Label1" runat="server" ForeColor="#C00000"></asp:Label></td><td align="left" style="width: 358px; height: 40px;">
       <asp:Button ID="btnOK" runat="server" OnClick="btnOK_Click" Text="执 行" Width="51px" />
        </td></tr>
  </table>

 

 

2:服务器

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //在DropDownList中绑定所有数据库
            SqlConnection connection = new SqlConnection(@"Data Source=.;Integrated Security=True;Connect Timeout=30");
            SqlCommand command = new SqlCommand("sp_helpdb", connection);
            command.CommandType = CommandType.StoredProcedure;
            connection.Open();
            SqlDataReader reader = command.ExecuteReader();
            ddlDatabaseList.DataSource = reader;
            ddlDatabaseList.DataTextField = "Name";
            ddlDatabaseList.DataBind();
            reader.Close();
            connection.Close();
        }

    }
  
    protected void btnOK_Click(object sender, EventArgs e)
    {
        string dbFileName = txtDbFileName.Text.Trim();
        SqlConnection connection = new SqlConnection(@"Data Source=.;Integrated Security=True;Connect Timeout=30;User Instance=True");
        string dbName = ddlDatabaseList.SelectedValue;
        if (!dbFileName.EndsWith(".bak"))
        {
            dbFileName += ".bak";
        }
        if (rbBackup.Checked)//备份数据库
        {
            SqlCommand command = new SqlCommand("use master;backup database @name to disk=@path;", connection);
            connection.Open();
            string path = Server.MapPath("aa") + "" + dbFileName;
            command.Parameters.AddWithValue("@name", dbName);
            command.Parameters.AddWithValue("@path", path);
            command.ExecuteNonQuery();
            connection.Close();
            Label1.Text = dbFileName + "数据库备份成功,要记住该文件名!";
          
        }
        else//恢复数据库
        {
            SqlCommand command = new SqlCommand("use master;restore database @name from disk=@path;", connection);
            connection.Open();
            string path = Server.MapPath("aa") + "" + dbFileName;
            command.Parameters.AddWithValue("@name", dbName);
            command.Parameters.AddWithValue("@path", path);
            command.ExecuteNonQuery();
            connection.Close();
            Label1.Text = dbFileName + "数据库还原成功!";
        }
    }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值