`
water84222
  • 浏览: 372828 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

页面中实现SQL数据库备份还原

阅读更多

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

namespace wangshun.SystemConfig
{
 /// <summary>
 /// DataBase 的摘要说明。
 /// </summary>
 public class DataBase : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Button Button2;
  protected System.Web.UI.WebControls.Button Button1;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
  }
  /**//// <summary>
  /// 杀死当前库的所有进程
  /// </summary>
  /// <returns></returns>
  private bool exepro()
  {
   string connstr  = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
    
   string [] connstrayy = connstr.Split(";".ToCharArray(),4);
    
   string ip=connstrayy[0].Split("=".ToCharArray(),2)[1];
   string Database=connstrayy[1].Split("=".ToCharArray(),2)[1];
   string Userid=connstrayy[2].Split("=".ToCharArray(),2)[1];
   string Pwd=connstrayy[3].Split("=".ToCharArray(),2)[1];

   SqlConnection conn1 = new SqlConnection("server="+ip+";uid="+Userid+";pwd="+Pwd+";database=master");
   SqlCommand cmd = new SqlCommand("killspid",conn1);
   cmd.CommandType = CommandType.StoredProcedure;
   cmd.Parameters.Add("@dbname",Database);
   try
   {
    conn1.Open();
    cmd.ExecuteNonQuery();
    return true;
   }
   catch(Exception ex)
   {
    return false;
   }
   finally
   {
    conn1.Close();
   }

  }
  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Button1.Click += new System.EventHandler(this.Button1_Click);
   this.Button2.Click += new System.EventHandler(this.Button2_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion
  /// <summary>
  /// 备份数据库
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  private void Button1_Click(object sender, System.EventArgs e)
  {
   SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
   SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
   try
   {
    string connstr  = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
    
    string [] connstrayy = connstr.Split(";".ToCharArray(),4);
    
    string ip=connstrayy[0].Split("=".ToCharArray(),2)[1];
    string Database=connstrayy[1].Split("=".ToCharArray(),2)[1];
    string Userid=connstrayy[2].Split("=".ToCharArray(),2)[1];
    string Pwd=connstrayy[3].Split("=".ToCharArray(),2)[1];

    oSQLServer.LoginSecure = false;
    oSQLServer.Connect(ip, Userid, Pwd);
    oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
    oBackup.Database = Database;
    oBackup.Files = Server.MapPath("./dbback") +"/"+Database+".bak";
    oBackup.BackupSetName = Database;
    oBackup.BackupSetDescription = "数据库备份";
    oBackup.Initialize = true;
    oBackup.SQLBackup(oSQLServer);
    Response.Write("<script>alert('恭喜您备份数据库成功!');</script>");
   }
   catch
   {
    throw;
   }
   finally
   {
    oSQLServer.DisConnect();
   }

  }
  /// <summary>
  /// 还原数据库
  /// </summary>
  /// <param name="sender"></param>
  /// <param name="e"></param>
  private void Button2_Click(object sender, System.EventArgs e)
  {
   if(exepro()!=true)//执行存储过程
             
   {
    Response.Write("<script>alert('对不起执行操作失败请重试!');</script>");
    return;
   }
   else
   { 
    SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
    SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
    try
    {
     string connstr  = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
    
     string [] connstrayy = connstr.Split(";".ToCharArray(),4);
    
     string ip=connstrayy[0].Split("=".ToCharArray(),2)[1];
     string Database=connstrayy[1].Split("=".ToCharArray(),2)[1];
     string Userid=connstrayy[2].Split("=".ToCharArray(),2)[1];
     string Pwd=connstrayy[3].Split("=".ToCharArray(),2)[1];
    
     oSQLServer.LoginSecure = false;
     oSQLServer.Connect(ip,Userid,Pwd);
     oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
     oRestore.Database = Database;     
     oRestore.Files = Server.MapPath("./dbback") +"/"+Database+".bak";
     oRestore.FileNumber = 1;
     oRestore.ReplaceDatabase = true;
     oRestore.SQLRestore(oSQLServer);
     Response.Write("<script>alert('恭喜您数据库还原成功!');</script>");
    }
    catch
    {
     throw;
    }
    finally
    {
     oSQLServer.DisConnect();
    }

   }
  }  
 }
}


前台
<asp:button runat="server" text="备份" id="Button1" style="Z-INDEX: 101; LEFT: 208px; POSITION: absolute; TOP: 104px"></asp:button><asp:button runat="server" text="还原" id="Button2" style="Z-INDEX: 102; LEFT: 216px; POSITION: absolute; TOP: 152px"></asp:button>
<asp:button runat="server" text="备份" id="Button1" style="Z-INDEX: 101; LEFT: 208px; POSITION: absolute; TOP: 104px"></asp:button><asp:button runat="server" text="还原" id="Button2" style="Z-INDEX: 102; LEFT: 216px; POSITION: absolute; TOP: 152px"></asp:button> 

分享到:
评论

相关推荐

    c++,SQL语句实现数据库备份与还原

    在SQL Server中,获取默认目录是实现数据库备份与还原的前提条件之一。通过使用T-SQL语句,可以轻松地获取SQL Server服务器上的默认目录。例如,使用以下语句可以获取默认的数据目录和备份目录: ```sql select ...

    C#实现SQL数据库备份与恢复

    ### 一、C#与SQL数据库备份 数据库备份是数据库管理中的关键环节,它涉及到将当前数据库的数据和结构复制到一个或多个备份设备上,以便在需要时恢复。在C#中,我们可以利用SQL Server提供的T-SQL语句或SQLDMO(SQL ...

    将Sql Server 2000中的数据库备份文件还原到sql2005中

    将Sql Server 2000中的数据库备份文件还原到sql2005中 将Sql Server 2000中的数据库备份文件还原到Sql Server 2005中是一个常见的问题。在这个过程中,我们需要了解Sql Server 2000和Sql Server 2005之间的差异,...

    SQL数据库备份、还原、转移详解

    首先,我们来理解SQL数据库备份的重要性。数据库备份是预防数据丢失的关键措施,可能由于硬件故障、软件错误、人为误操作或恶意攻击导致数据丢失。SQL Server提供了多种备份类型,包括完整备份、差异备份、日志备份...

    sql数据库备份还原工具

    "sql数据库备份还原工具"正是解决这一问题的关键,它允许用户方便地对SQL数据库进行备份和恢复操作,以防止数据丢失或在系统故障后迅速恢复服务。 首先,我们需要理解SQL数据库备份的重要性。数据库备份是保护数据...

    c# asp.net实现sql server数据库备份

    总之,使用C#和ASP.NET实现SQL Server数据库备份,主要涉及SMO库的使用,通过编写代码来配置备份类型、设备和选项,然后调用SqlBackup方法执行备份。在实际应用中,还需要考虑错误处理、日志记录、备份策略规划等...

    sql2005数据库备份还原工具

    本文将详细探讨“SQL2005数据库备份还原工具”的设计思想、实现方式以及实际应用,同时提供C#编程语言的源代码分析。 首先,备份是数据安全的第一道防线。SQL Server 2005提供了多种备份类型,包括完整备份、差异...

    SQL数据库备份还原

    在IT领域,数据库管理是至关重要的任务之一,而SQL数据库备份和还原是这一过程中不可或缺的环节。这个主题主要关注如何在不直接通过数据库管理工具的情况下,在应用程序中实现数据的备份和恢复,确保数据的安全性和...

    SQL数据库备份还原工具

    而"SQL数据库备份还原工具"就是为了应对数据库安全性和可恢复性的需求而设计的。下面将详细阐述SQL数据库备份与还原的相关知识点。 首先,数据库备份是预防数据丢失的重要手段。由于硬件故障、软件错误、人为操作...

    C#实现SQL数据库备份与恢复.txt

    C#实现SQL数据库备份与恢复

    SQLServer数据库的备份和还原详解

    ### SQL Server 数据库的备份与还原详解 #### 一、基本概念 在开始讨论SQL Server数据库的备份与还原之前,我们需要了解几个基本的概念。 - **MDF 文件**: 这是SQL Server数据库的主要数据文件,存储了数据库的...

    SqlServer2000数据库备份还原工具

    本文将详细阐述如何使用SQL Server 2000进行数据库备份和还原,并介绍一款名为"数据库备份还原.exe"的实用工具,以简化这一过程。 一、SQL Server 2000数据库备份 1. 备份类型: - 完全备份:备份整个数据库,...

    SqlServer数据库的备份与还原

    因此,在执行备份还原操作前,建议进行充分的测试,确保操作流程正确无误,并在生产环境中遵循最佳实践。 上述操作涵盖了SqlServer数据库备份与还原的基本知识点,包括手动备份的步骤、自动备份的配置、还原操作...

    asp.net 代码实现sql数据库备份与还原(实例)

    1. SQL Server数据库备份: - 备份是防止数据丢失的关键步骤。在SQL Server中,我们可以使用T-SQL命令`BACKUP DATABASE`来创建数据库的备份。在ASP.NET中,可以使用`SqlCommand`对象执行这个命令。 - 首先,需要...

    批处理(bat)实现SQLServer数据库备份与还原

    ### 批处理(BAT)实现SQL Server数据库备份与还原 #### 一、概述 在日常的数据库维护工作中,定期对数据库进行备份是非常重要的一个环节,它能够帮助我们防止因硬件故障、软件错误或其他不可预见的情况导致的数据...

    SQL数据库备份还原恢复

    标题“SQL数据库备份还原恢复”涉及的是数据库管理中的关键操作,包括备份、还原和恢复。在IT领域,尤其是数据库管理中,这些步骤是确保数据安全和业务连续性的重要环节。 SQL数据库,如MySQL、SQL Server、Oracle...

    SQL数据库备份与还原

    本文将详细阐述SQL数据库备份与还原的概念、方法及在Delphi开发环境中如何实现。 首先,备份是保护数据免受意外丢失或损坏的关键步骤。SQL数据库备份主要包括完整备份、差异备份、日志备份和文件或文件组备份等类型...

    SQLServer2008R2数据库备份与还原操作文档.pdf

    SQLServer2008R2数据库备份与还原操作文档.pdf

Global site tag (gtag.js) - Google Analytics