知识大全 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
相关参考
SQLServer备份和灾难恢复 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 数据处理在现代企
关于SQLServer数据库备份和恢复特性介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! S
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)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
()首先启动SQlServer代理(如果备份出现问题代理会通知管理员) ()在服务器对象里面>新建备份设备 ()创建操作员当备份成功或者失败的时候通过网络通信通知管理员 ()在管理里面