APS.NET  中怎么实现数据库(SQL SERVER2000)的备份与还原
最好有C# 的代码,谢谢了

解决方案 »

  1.   

    在SQL中使用  BACKUP 进行备份,使用RESTORE还原数据库
    两个存储过程为:
    create proc backup_database 
    (
    @device_name varchar(80),--备份设备名
    @file_name varchar(125), --备份文件名
    @devicelog_name varchar(85),--日志备份设备名
    @filelog_name varchar(130) --日志备份文件名
    )
    as
    --创建数据库的备份逻辑设备
    exec sp_addumpdevice 'disk', @device_name ,@file_name //创建设备逻辑名
    exec sp_addumpdevice 'disk', @devicelog_name, @filelog_name 
    backup database testdb to @device_name //备份数据库
    backup log testdb to @devicelog_name  //备份日志create proc Rewordtable
    (
    @device_name varchar(80),
    @devicelog_name varchar(85)
    )
    as
    Restore database testdb from  @device_name
    Restore log testdb  @devicelog_name
      

  2.   

    http://singlepine.cnblogs.com/articles/255410.html
    http://www.pcptel.com/content/view/306/
      

  3.   

    看了不是很清楚
    可不可以用多点文字说明啊
    没有接触过这一方面
    谢谢
    比如在ASP.net
    void 备份()
    {
        //这里怎么写
    }
    void 还原()
    {
        //这里怎么写
    }
    谢谢
      

  4.   


    <% @Import Namespace="System.Data" %>
    <% @Import Namespace="System.Data.SqlClient" %>
    <HTML>
    <HEAD>
    <title>获取服务器端数据库列表示例</title>
    <script language="C#" runat="server">

    // 注意本节的数据库连接字符串
    string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer1"];

    void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    {
    // 创建连接及执行数据库操作
    string db_query = "sp_helpdb"; SqlCommand myCommand = new SqlCommand(db_query, new SqlConnection(ConnStr));
    myCommand.Connection.Open();
    SqlDataReader dr = myCommand.ExecuteReader(); // 将数据库列表绑定到下拉列表控件(DropDownList)
    dbDropDownList.DataSource = dr;
    dbDropDownList.DataTextField = "name";
    dbDropDownList.DataBind(); //关闭DataReader对象和数据库连接
    dr.Close();
    myCommand.Connection.Close();
    }
    }

    void dbDropDownList_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    pathTextBox.Text = @"C:\BACKUP\" + dbDropDownList.SelectedValue + ".bak";
    }

    void backupButton_Click(object sender, System.EventArgs e)
    {
    string path = pathTextBox.Text;
    string dbname = dbDropDownList.SelectedValue; string backupSql = "use master;";
    backupSql += "backup database @dbname to disk = @path;";

    SqlCommand myCommand = new SqlCommand(backupSql, new SqlConnection(ConnStr)); myCommand.Parameters.Add("@dbname", SqlDbType.Char);
    myCommand.Parameters["@dbname"].Value = dbname;
    myCommand.Parameters.Add("@path", SqlDbType.Char);
    myCommand.Parameters["@path"].Value = path; try
    {
    myCommand.Connection.Open();
    myCommand.ExecuteNonQuery();
    infoLabel.Text = "备份成功";
    }
    catch(Exception ex)
    {
    infoLabel.Text = "备份失败<br>" + ex.ToString();
    }
    finally
    {
    myCommand.Connection.Close();
    }
    }

    void restoreButton_Click(object sender, System.EventArgs e)
    {
    string path = pathTextBox.Text;
    string dbname = dbDropDownList.SelectedValue; string restoreSql = "use master;";
    restoreSql += "restore database @dbname from disk = @path;"; SqlCommand myCommand = new SqlCommand(restoreSql, new SqlConnection(ConnStr)); myCommand.Parameters.Add("@dbname", SqlDbType.Char);
    myCommand.Parameters["@dbname"].Value = dbname;
    myCommand.Parameters.Add("@path", SqlDbType.Char);
    myCommand.Parameters["@path"].Value = path; try
    {
    myCommand.Connection.Open();
    myCommand.ExecuteNonQuery();
    infoLabel.Text = "恢复成功";
    }
    catch(Exception ex)
    {
    infoLabel.Text = "恢复失败<br>" + ex.ToString();
    }
    finally
    {
    myCommand.Connection.Close();
    }
    }

    </script>
    </HEAD>
    <body>
    <form id="Form1" method="post" runat="server">
    <h3>获取服务器端数据库列表示例</h3>
    数据库列表:
    <asp:dropdownlist id="dbDropDownList" runat="server" AutoPostBack="True" 
    OnSelectedIndexChanged="dbDropDownList_SelectedIndexChanged"></asp:dropdownlist>
    <br><br>
    请输入备份目录及备份文件名:
    <asp:textbox id="pathTextBox" runat="server" Width="224px">
    C:\BACKUP\Northwind.bak</asp:textbox>(目录必须存在)
    <br><br>
    <asp:button id="backupButton" runat="server" Font-Size="9pt" Text="备份数据库" 
    OnClick="backupButton_Click"></asp:button>
    <asp:button id="restoreButton" runat="server" Font-Size="9pt" Text="恢复数据库" 
    OnClick="restoreButton_Click"></asp:button>
    <br><br>
    <asp:Label id="infoLabel" runat="server"></asp:Label>
    </form>
    </body>
    </HTML>
      

  5.   

    http://winzheng.blog.ccidnet.com/blog/ccid/do_showone/tid_9268.html