知识大全 ASP.NET恢复备份Sql server

Posted 数据库

篇首语:学问不都是在书本上得来的,在事实上得的经验,也就是学问。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET恢复备份Sql server相关的知识,希望对你有一定的参考价值。

ASP.NET恢复备份Sql server  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  最近做的一个项目因为服务器是在特殊机房上的 因为安全方面的考虑 不能给我们开发者提供FTP服务 所以每次更新版本都得自己跑一趟 而他的机房有很远 所以我一直想能不能开发一个维护版本的系统呢 对数据库和代码进行在线更新 就不用自己跑了 于是就有了下面的尝试 在线恢复和备份SQL Server

  前台代码

  <%@ Page Language= C# AutoEventWireup= true CodeBehind= SqlDbMgmt aspx cs Inherits= SysSourceMgmt SqlDbMgmt %>

  <!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN < transitional dtd> >

  < xmlns= <; >

  <head runat= server >

  <title></title>

  </head>

  <body>

  <form id= form runat= server >

  <div>

  <table>

  <tr>

  <td >

  <span >操 作 数 据 库</span>

  </td>

  <td>

  <asp:DropDownList ID= DropDownList runat= server Font Size= pt Width= px >

  </asp:DropDownList>

  <asp:TextBox ID= txtDbName runat= server ></asp:TextBox>

  </td>

  <td >

  </td>

  </tr>

  <tr>

  <td >

  <span >备份名称和位置</span>

  </td>

  <td >

  <asp:TextBox ID= TextBox runat= server Font Size= pt Width= px ></asp:TextBox>

  </td>

  <td >

  <span >(如D:\\beifen)</span>

  </td>

  </tr>

  <tr>

  <td colspan= >

  <asp:Button ID= Button runat= server Font Size= pt OnClick= Button _Click Text= 备份数据库 />

  </td>

  </tr>

  </table>

  </div>

  <div >

  <table>

  <tr>

  <td >

  <span >操 作 数 据 库</span>

  </td>

  <td>

  <asp:DropDownList ID= DropDownList runat= server Font Size= pt Width= px >

  </asp:DropDownList>

  </td>

  <td >

  </td>

  </tr>

  <tr>

  <td >

  <span >操 作 数 据 库</span>

  </td>

  <td >

  <asp:FileUpload ID= FileUpload runat= server Font Size= pt Width= px />

  </td>

  <td >

  </td>

  </tr>

  <tr>

  <td colspan= >

  <asp:Button ID= Button runat= server Font Size= pt OnClick= Button _Click Text= 还原数据库 />

  <asp:Button ID= Button runat= server Font Size= pt OnClick= Button _Click Text= 强制还原数据库 />

  </td>

  </tr>

  </table>

  </div>

  </form>

  </body>

  </>

  后台

  using System;

  using System Collections Generic;

  using System Linq;

  using System Web;

  using System Web UI;

  using System Web UI WebControls;

  using System Data SqlClient;

  using System IO;

  using System Data;

  using System Diagnostics;

  namespace SysSourceMgmt

  

  public partial class SqlDbMgmt : System Web UI Page

  

  protected void Page_Load(object sender EventArgs e)

  

  if (!IsPostBack)

  

  try

  

  string SqlStr = Server=(local);DataBase=master;Uid=sa;Pwd= ;

  string SqlStr = Exec sp_helpdb ;

  SqlConnection con = new SqlConnection(SqlStr );

  con Open();

  SqlCommand = new SqlCommand(SqlStr con);

  SqlDataReader dr = ExecuteReader();

  this DropDownList DataSource = dr;

  this DropDownList DataTextField = name ;

  this DropDownList DataBind();

  dr Close();

  con Close();

  SqlStr = Server=(local);DataBase=master;Uid=sa;Pwd= ;

  SqlStr = Exec sp_helpdb ;

  con = new SqlConnection(SqlStr );

  con Open();

   = new SqlCommand(SqlStr con);

  dr = ExecuteReader();

  this DropDownList DataSource = dr;

  this DropDownList DataTextField = name ;

  this DropDownList DataBind();

  dr Close();

  con Close();

  

  catch (Exception)

  

  

  

  

  protected void Button _Click(object sender EventArgs e)

  

  string dbName = string Empty;

  if (DropDownList Items Count != )

  

  dbName = DropDownList SelectedValue Trim();

  

  else

  

  dbName = txtDbName Text Trim();

  

  string SqlStr = Data Source= \\\\sqlexpress;Initial Catalog= + dbName + ;Integrated Security=True ;

  string SqlStr = backup database + dbName + to disk= + this TextBox Text Trim() + bak ;

  SqlConnection con = new SqlConnection(SqlStr );

  con Open();

  try

  

  if (File Exists(this TextBox Text Trim()))

  

  Response Write( <script language=javascript>alert( 此文件已存在 请从新输入! );location= Default aspx </script> );

  return;

  

  SqlCommand = new SqlCommand(SqlStr con);

   ExecuteNonQuery();

  Response Write( <script language=javascript>alert( 备份数据成功! ); </script> );

  

  catch (Exception error)

  

  Response Write(error Message);

  Response Write( <script language=javascript>alert( 备份数据失败! )</script> );

  

  finally

  

  con Close();

  

  

  protected void Button _Click(object sender EventArgs e)

  

  string path = this FileUpload PostedFile FileName; //获得备份路径及数据库名称

  string dbName = string Empty;

  if (DropDownList Items Count != )

  

  dbName = DropDownList SelectedValue Trim();

  

  else

  

  dbName = txtDbName Text Trim();

  

  string SqlStr = Data Source= \\\\sqlexpress;Initial Catalog= + dbName + ;Integrated Security=True ;

  string SqlStr = @ use master restore database + dbName + from disk= + path + ;

  SqlConnection con = new SqlConnection(SqlStr );

  con Open();

  try

  

  SqlCommand = new SqlCommand(SqlStr con);

   ExecuteNonQuery();

  Response Write( <script language=javascript>alert( 还原数据成功! ); </script> );

  

  catch (Exception error)

  

  Response Write(error Message);

  Response Write( <script language=javascript>alert( 还原数据失败! )</script> );

  txtDbName Text = SqlStr ;

  

  finally

  

  con Close();

  

  

  /// <summary>

  /// 恢复数据库 可选择是否可以强制还原(即在其他人在用的时候 依然可以还原)

  /// </summary>

  /// <param name= databasename >待还原的数据库名称</param>

  /// <param name= databasefile >带还原的备份文件的完全路径</param>

  /// <param name= errormessage >恢复数据库失败的信息</param>

  /// <param name= forceRestore >是否强制还原(恢复) 如果为TRUE 则exec killspid 数据库名 结束此数据库的进程 这样才能还原数据库</param>

  /// <returns></returns>

  public bool RestoreDataBase(string databasename string databasefile ref string returnMessage bool forceRestore SqlConnection conn)

  

  bool success = true;

  string path = databasefile;

  string dbname = databasename;

  string restoreSql = use master; ;

  if (forceRestore)//如果强制回复

  restoreSql += string Format( use master exec killspid ; databasename);

  restoreSql += restore database @dbname from disk = @path; ;

  SqlCommand myCommand = new SqlCommand(restoreSql conn);

  myCommand Parameters Add( @dbname SqlDbType Char);

  myCommand Parameters[ @dbname ] Value = dbname;

  myCommand Parameters Add( @path SqlDbType Char);

  myCommand Parameters[ @path ] Value = path;

  Response Write(restoreSql);

  try

  

  myCommand Connection Open();

  myCommand ExecuteNonQuery();

  returnMessage = 还原成功 ;

  

  catch (Exception ex)

  

  returnMessage = ex Message;

  success = false;

  

  finally

  

  myCommand Connection Close();

  

  return success;

  

  protected void Button _Click(object sender EventArgs e)

  

  string path = this FileUpload PostedFile FileName; //获得备份路径及数据库名称

  string dbName = string Empty;

  if (DropDownList Items Count != )

  

  dbName = DropDownList SelectedValue Trim();

  

  else

  

  dbName = txtDbName Text Trim();

  

  string returnMessage = string Empty;

  string SqlStr = Data Source= \\\\sqlexpress;Initial Catalog= + dbName + ;Integrated Security=True ;

  SqlConnection con = new SqlConnection(SqlStr );

  RestoreDataBase(txtDbName Text path ref returnMessage true con);

  Response Write(returnMessage);

  

  

cha138/Article/program/net/201311/12473

相关参考

知识大全 SQL Server备份和灾难恢复

SQLServer备份和灾难恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据处理在现代企

知识大全 关于SQL Server数据库备份和恢复特性介绍

关于SQLServer数据库备份和恢复特性介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  S

知识大全 SQL Server7.0 数据库备份与恢复

SQLServer7.0数据库备份与恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  随着信息

知识大全 Web环境下的SQL Server数据备份与恢复[2]

Web环境下的SQLServer数据备份与恢复[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Web环境下的SQL Server数据备份与恢复[1]

Web环境下的SQLServer数据备份与恢复[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 ASP.NET获取MS SQL Server安装实例

ASP.NET获取MSSQLServer安装实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 基于SQL Server的Asp.net图片存储技术

基于SQLServer的Asp.net图片存储技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET如何存取SQL Server数据库图片

ASP.NET如何存取SQLServer数据库图片  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASP.NET2.0数据库入门之SQL Server

ASP.NET2.0数据库入门之SQLServer  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 sql server2005设置自动备份全过程

  ()首先启动SQlServer代理(如果备份出现问题代理会通知管理员)  ()在服务器对象里面>新建备份设备  ()创建操作员当备份成功或者失败的时候通过网络通信通知管理员  ()在管理里面