`
jinvasshole
  • 浏览: 763723 次
文章分类
社区版块
存档分类
最新评论

在asp.net中备份还原SQL Server数据库

 
阅读更多

在web中,安全性主要体现在两个方面:一个是程序安全性,即防止网页在插入恶意代码;另一个是数据库安全性,这个我们可以经常备份数据库来实现。
在文中,我将演示如果在网页中备份和恢复数据库。
其实备份和恢复数据库都是利用SQL Server提供的SQL语句来备份的。
备份:use master;backup database @name to disk=@path;
恢复:use master;restore database @name from disk=@path;
上面用的是参数化SQL语句,可以在程序执行的时候动态给参数赋值。

代码:

  1. <%@PageLanguage="C#"AutoEventWireup="true"CodeFile="DatabaseAction.aspx.cs"Inherits="DatabaseAction"%>
  2. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <htmlxmlns="http://www.w3.org/1999/xhtml">
  4. <headrunat="server">
  5. <title>无标题页</title>
  6. </head>
  7. <body>
  8. <formid="form1"runat="server">
  9. <div>
  10. <tableborder="0"width="100%">
  11. <tr><tdcolspan="2">数据库还原和备份</td></tr>
  12. <tr><td>请选择数据库</td><td>
  13. <asp:DropDownListID="ddlDatabaseList"runat="server">
  14. </asp:DropDownList></td></tr>
  15. <tr><td>
  16. 数据库文件名</td><td>
  17. <asp:TextBoxID="txtDbFileName"runat="server"></asp:TextBox></td></tr>
  18. <tr><td>
  19. 操作选项</td><td>
  20. <asp:RadioButtonID="rbBackup"runat="server"Checked="True"GroupName="action"Text="备份"/>
  21. <asp:RadioButtonID="rbRestore"runat="server"GroupName="action"Text="还原"/></td></tr>
  22. <tr><td>
  23. 操作</td><td>
  24. <asp:ButtonID="btnOK"runat="server"OnClick="btnOK_Click"Text="执行"/></td></tr>
  25. </table>
  26. </div>
  27. </form>
  28. </body>
  29. </html>

后台代码:

  1. usingSystem;
  2. usingSystem.Data;
  3. usingSystem.Configuration;
  4. usingSystem.Collections;
  5. usingSystem.Web;
  6. usingSystem.Web.Security;
  7. usingSystem.Web.UI;
  8. usingSystem.Web.UI.WebControls;
  9. usingSystem.Web.UI.WebControls.WebParts;
  10. usingSystem.Web.UI.HtmlControls;
  11. usingSystem.Data.SqlClient;
  12. ///<summary>
  13. ///功能说明:本例中演示在asp.net中如何备份和恢复数据库
  14. ///备份数据库主要使用数据库的备份语句。数据库备份文件放在
  15. ///App_Data文件夹下。
  16. ///作者:周公
  17. ///日期:2008-08-19
  18. ///首发地址:http://blog.csdn.net/zhoufoxcn/archive/2008/08/19/2796077.aspx
  19. ///</summary>
  20. publicpartialclassDatabaseAction:System.Web.UI.Page
  21. {
  22. protectedvoidPage_Load(objectsender,EventArgse)
  23. {
  24. if(!Page.IsPostBack)
  25. {
  26. //在DropDownList中绑定所有数据库
  27. SqlConnectionconnection=newSqlConnection("DataSource=ZHOUFOXCN;UserID=sa;Password=sa");
  28. SqlCommandcommand=newSqlCommand("sp_helpdb",connection);
  29. command.CommandType=CommandType.StoredProcedure;
  30. connection.Open();
  31. SqlDataReaderreader=command.ExecuteReader();
  32. ddlDatabaseList.DataSource=reader;
  33. ddlDatabaseList.DataTextField="Name";
  34. ddlDatabaseList.DataBind();
  35. reader.Close();
  36. connection.Close();
  37. }
  38. }
  39. protectedvoidbtnOK_Click(objectsender,EventArgse)
  40. {
  41. stringdbFileName=txtDbFileName.Text.Trim();
  42. SqlConnectionconnection=newSqlConnection("DataSource=ZHOUFOXCN;UserID=sa;Password=sa");
  43. stringdbName=ddlDatabaseList.SelectedValue;
  44. if(!dbFileName.EndsWith(".bak"))
  45. {
  46. dbFileName+=".bak";
  47. }
  48. if(rbBackup.Checked)//备份数据库
  49. {
  50. SqlCommandcommand=newSqlCommand("usemaster;backupdatabase@nametodisk=@path;",connection);
  51. connection.Open();
  52. stringpath=Server.MapPath("~//App_Data")+"//"+dbFileName;
  53. command.Parameters.AddWithValue("@name",dbName);
  54. command.Parameters.AddWithValue("@path",path);
  55. command.ExecuteNonQuery();
  56. connection.Close();
  57. }
  58. else//恢复数据库
  59. {
  60. SqlCommandcommand=newSqlCommand("usemaster;restoredatabase@namefromdisk=@path;",connection);
  61. connection.Open();
  62. stringpath=Server.MapPath("~//App_Data")+"//"+dbFileName;
  63. command.Parameters.AddWithValue("@name",dbName);
  64. command.Parameters.AddWithValue("@path",path);
  65. command.ExecuteNonQuery();
  66. connection.Close();
  67. }
  68. }
  69. }

以上代码在WindowsXP+VisualStudio2005+SQL Server2000下测试通过

分享到:
评论

相关推荐

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

    经测试绝对成功。请放心下载。这是一个实例,下载后请看查看说明文档。

    ASP.NET备份恢复SqlServer数据库

    备份SqlServer数据库 核心技术,还原SqlServer 核心技术等

    Asp.net 备份和还原SQL Server及压缩Access数据库

    Asp.net 备份和还原SQL Server及压缩Access数据库

    C# ASP.NET 模块 - 数据库备份与恢复模块

    功能如下: 备份、还原 SQL Server 数据表; 分离、附加 SQL Server 数据库; 备份、还原 Access 数据库;

    asp.net 数据库备份还原(sqlserver+access)

    Asp.net 备份、还原Ms SQLServer及压缩Access数据库

    ASP.NET 2.0+SQL Server 2005全程指南-源代码

    ASP.NET 2.0+SQL Server 2005全程指南 目录 基础篇 第1章 ASP.NET概述及环境配置 1.1 认识ASRNET 1.1.1 .NET Framework框架 1.1.2 ASP.NET功能与特性 1.1.3 ASP.NET与ASP的区别 1.2 搭建ASP.NET开发环境 1.2.1...

    计算机毕业设计asp.net物流管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目

    asp.net 物流管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发,开发环境为vs2010,数据库为sqlserver2008,或者以上版本都可以,使用c#语言开发。 二、功能介绍 (1)...

    asp.net项目管理系统VS开发sqlserver数据库web结构C#编程

    asp.net 项目管理系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 二、功能介绍 本系统根据需求分析可以得知系统包括了三种权限的分配:管理员、员工、网管。下面详细...

    sql server sqldmo_x86_x64(C#数据库备份还原很好用的dll)

    sql server sqldmo_x86_x64,C#数据库备份还原很好用的.dll,里面有使用方法,引用Interop.SQLDMO.dll后的注意事项。 SQLDMO.dll是个好东西,ASP.NET利用它可以实现在线备份、还原数据库等各种功能。近日有客户...

    《零基础学ASP.NET 2.0》第12章 SQL Server 2005基础

    12.1 初步认识SQL Server 2005 187 12.1.1 SQL Server 2005的优势 187 12.1.2 SQL Server 2005的新特性 188 12.2 数据库操作 189 ...12.7.3 SQL Server 2005中的数据库可以在SQL Server 2000下直接使用吗 210

    sql备份还原

    asp.net备份SQLServer数据库和还原SQLServer数据库 string sql = "exec killspid 'FlowMS'";//调用存储过程 killspid(此存储过程应写在Master中) 来避免数据库被占用 这个很关键,要不然就出现错误:"因为数据库正在...

    ASP.NET3.5从入门到精通

    4.6 ASP.NET 生命周期中的事件 4.6.1 页面加载事件(Page_PreInit) 4.6.2 页面加载事件(Page_Init) 4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET 网站文件...

    ASP.NET 3.5 开发大全

    4.6 ASP.NET生命周期中的事件 4.6.1 页面加载事件(Page_PreInit) 4.6.2 页面加载事件(Page_Init) 4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 ...

    asp.net cms demo

    3) 在SQL数据库中新建数据库,然后还原数据库,备份数据库路径为upload_files/database/data.bak; 2) 按下面说明修改跟upload_files/web.config文件中的数据库链接。 &lt;add name="Cms" connectionString="server=...

    ASP.NET 3.5 开发大全word课件

    4.6 ASP.NET生命周期中的事件 4.6.1 页面加载事件(Page_PreInit) 4.6.2 页面加载事件(Page_Init) 4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 ...

    ASP.NET企业开支记录统计查询系统源码

    1、开发环境为Visual Studio 2013,数据库为SqlServer2005,使用.net 4.0开发。 2、数据库是bak文件,直接还原备份即可,数据库名为db_test。对了数据库连接操作是我自己的类 3、对了这是项目源文件,需要在VS中...

    ASP.NET 3.5 开发大全11-15

    4.6 ASP.NET生命周期中的事件 4.6.1 页面加载事件(Page_PreInit) 4.6.2 页面加载事件(Page_Init) 4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 ...

    ASP.NET 3.5 开发大全1-5

    4.6 ASP.NET生命周期中的事件 4.6.1 页面加载事件(Page_PreInit) 4.6.2 页面加载事件(Page_Init) 4.6.3 页面载入事件(Page_Load) 4.6.4 页面卸载事件(Page_Unload) 4.6.5 页面指令 4.7 ASP.NET网站文件类型 ...

Global site tag (gtag.js) - Google Analytics