以下代码有参考网上的一些文章。 1、html 部分 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DBBack.aspx.cs" Inherits="FunctionModule_BaseDataModule_DBBack" StylesheetTheme="Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ Register Src="~/WebControls/BarTitle.ascx" TagName="BarTitle" TagPrefix="uc" %> <%@ Register Src="~/WebControls/GridPage.ascx" TagName="GridPage" TagPrefix="uc1" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>无标题页</title> <mce:script language='javascript' src="../../Javascript/BiddingCore.js" mce_src="Javascript/BiddingCore.js" type='text/javascript'></mce:script> <mce:script language='javascript' src="../../Javascript/OtherFunction.js" mce_src="Javascript/OtherFunction.js" type='text/javascript'></mce:script> <mce:script language='javascript' src="../../Javascript/DatePicker/WdatePicker.js" mce_src="Javascript/DatePicker/WdatePicker.js" type='text/javascript'></mce:script> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <%--按钮显示--%> <asp:Panel ID="PanelButton" runat="server" Width="100%"> <uc:BarTitle ID="BarTitleInfo" runat="server" /> <table id="tbButton" runat="server" cellpadding="0" cellspacing="0" style="width: 100%"> <tr> <td class="BarHeadSquare"> </td> <td class='buttonArea'> <asp:Button ID='btnSave' runat='server' Text='保存数据库(S)' CommandName='edit_save' SkinID='saveButton' AccessKey="S" ToolTip="Alt + S" OnClick="btnSave_Click" /> <asp:Button ID='btnReturn' runat='server' Text='返回(B)' SkinID='cancelButton' AccessKey="B" ToolTip="Alt + B" OnClick="btnReturn_Click" /> </td> <td class='buttonArea'> <asp:Label ID='lblmessage' runat='server' ForeColor='red' Text=''></asp:Label> <asp:ValidationSummary ID='vldSummary_Insert' runat='server' DisplayMode='SingleParagraph' HeaderText='系统讯息:' /> </td> </tr> </table> </asp:Panel> <%--查询条件--%> <asp:Panel ID="PanelSearchCondition" runat="server" Width="100%"> <fieldset style="vertical-align: top" mce_style="vertical-align: top"> <legend> <asp:Label ID="Label11" runat="server" Text="备份"></asp:Label></legend> <table id="table2" class="tablestyle"> <tr> <td class="td_lable_style"> <asp:Label ID="Label1" runat="server" SkinID="LblCaptionskin" Text="数据库名:"></asp:Label> </td> <td class="td_text_style"> <asp:DropDownList ID="ddlDataName" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlDataName_SelectedIndexChanged" Height="16px" Width="203px"> </asp:DropDownList> </td> </tr> <tr> <td class="td_lable_style"> <asp:Label ID="Label3" runat="server" SkinID="LblCaptionskin" Text="备份路径:"></asp:Label> </td> <td class="td_text_style"> <asp:TextBox ID="txtPath" runat="server" Width="358px"></asp:TextBox> </td> </tr> <tr> <td class="td_lable_style"> </td> <td class="td_text_style"> <asp:Label ID="Label6" runat="server" Text="输入格式如:E:/InOutManage2009126(E盘,文件以InOutManage2009126名保存)"></asp:Label> </td> </tr> <tr> <td class="td_lable_style"> <asp:Label ID="Label4" runat="server" SkinID="LblCaptionskin" Text="数据库大小:"></asp:Label> </td> <td class="td_text_style"> <asp:Label ID="labDataSize" runat="server" Text="Label"></asp:Label> </td> </tr> </table> <%-- 数据源--%> </fieldset> </asp:Panel> </ContentTemplate> </asp:UpdatePanel> </form> </body> </html> 2、CS部分 using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; using System.IO; public partial class FunctionModule_BaseDataModule_DBBack : System.Web.UI.Page { string ConnString = "Data Source=.;User ID=sa;Password=dyl*102900;Initial Catalog="; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //创建数据库 SqlConnection con = createCon("InOutManage"); con.Open(); //打开数据库连接 string sql = "Exec sp_helpdb"; SqlDataAdapter sdr = new SqlDataAdapter(sql, con); DataSet ds = new DataSet(); sdr.Fill(ds); //填充DataSet数据集 ddlDataName.DataSource = ds.Tables[0].DefaultView; ddlDataName.DataTextField = "name"; //设置下拉列表框显示的文本 ddlDataName.DataBind(); try { ddlDataName.SelectedValue = "InOutManage"; ddlDataName.Enabled = false; } catch { } ddlDataName_SelectedIndexChanged(sender, e); } } protected SqlConnection createCon(string dataName) { string str = ConnString + dataName; SqlConnection con = new SqlConnection(str); return con; } protected void btnSave_Click(object sender, EventArgs e) { SqlConnection con = createCon(ddlDataName.SelectedValue); string sql = "backup database " + ddlDataName.SelectedValue + " to disk='" + txtPath.Text + ".bak'"; con.Open(); if (!File.Exists(txtPath.Text + ".bak")) { SqlCommand com = new SqlCommand(sql, con); com.ExecuteNonQuery(); //执行sql语句 lblmessage.Text = "系统信息:备份成功!"; } else { lblmessage.Text = "系统信息:文件已存在!"; } } protected string getSize(string dataName) { SqlConnection con = createCon("InOutManage"); con.Open(); //sql语句获取指定数据库的信息 string str = "exec sp_helpdb " + dataName; SqlCommand com = new SqlCommand(str, con); SqlDataReader sdr = com.ExecuteReader(); sdr.Read(); //读取一条记录 //获取该数据库的大小 string size = sdr["db_size"].ToString(); sdr.Close(); con.Close(); return size; } //通过Label控件显示当前数据库的大小 protected void ddlDataName_SelectedIndexChanged(object sender, EventArgs e) { labDataSize.Visible = true; //显示当前数据库的大小 labDataSize.Text = getSize(ddlDataName.SelectedValue); txtPath.Text = "E:/" + ddlDataName.SelectedValue + DateTime.Today.Year.ToString() + DateTime.Today.Month.ToString()+DateTime.Today.Day.ToString(); } protected void btnReturn_Click(object sender, EventArgs e) { Response.Redirect("~/desktop.aspx"); } }