asp.net 备份数据库

来源:互联网 发布:数据科学实战手册 pdf 编辑:程序博客网 时间:2024/05/16 07:24

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Admin_BackUPDB.aspx.cs" Inherits="Admin_Admin_BackUPDB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" />
        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" /></div>
    </form>
</body>
</html>

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using SJW.Common;
using sqldmo;

public partial class Admin_Admin_BackUPDB : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    /// <summary>
    /// 数据库备份
    /// </summary>
    public static void DbBackup()
    {
        SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
        SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
        try
        {
            oSQLServer.LoginSecure = false;
            oSQLServer.Connect("localhost", "sa", "123");
            oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
            oBackup.Database = "DB_SJW";
            oBackup.Files = @"E:/DB_SJW.bak";
            oBackup.BackupSetName = "DB_SJW";
            oBackup.BackupSetDescription = "数据库备份";
            oBackup.Initialize = true;
            oBackup.SQLBackup(oSQLServer);
        }
        catch
        {
            throw;
        }
        finally
        {
            oSQLServer.DisConnect();
        }
    }
    /// <summary>
    /// 数据库恢复
    /// </summary>
  public static void DbRestore()
  {
   SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
   SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
   try
   {
    oSQLServer.LoginSecure = false;
    oSQLServer.Connect("localhost", "sa", "123");
    oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
    oRestore.Database = "DB_SJW";
    oRestore.Files = @"e:/DB_SJW.bak";
    oRestore.FileNumber = 1;
    oRestore.ReplaceDatabase = true;
    oRestore.SQLRestore(oSQLServer);
   }
   catch
   {
    throw;
   }
   finally
   {
    oSQLServer.DisConnect();
   }
  }

    protected void Button1_Click(object sender, EventArgs e)
    {
        DbBackup();
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        DbRestore();
    }
}