在web中,安全性主要体现在两个方面:一个是程序安全性,即防止网页在插入恶意代码;另一个是数据库安全性,这个我们可以经常备份数据库来实现。
在文中,我将演示如果在网页中备份和恢复数据库。
        其实备份和恢复数据库都是利用SQL Server提供的SQL语句来备份的。
备份:use master;backup database @name to disk=@path;
恢复:use master;restore database @name from disk=@path;
        上面用的是参数化SQL语句,可以在程序执行的时候动态给参数赋值。
代码:
1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DatabaseAction.aspx.cs" Inherits="DatabaseAction" %>
     2.
     3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     4.
     5. <html xmlns="http://www.w3.org/1999/xhtml" >
     6. <head runat="server">
     7.         <title>无标题页</title>
     8. </head>
     9. <body>
    10.         <form id="form1" runat="server">
    11.         <div>
    12.         <table border="0" width="100%">
    13.         <tr><td colspan="2">数据库还原和备份</td></tr>
    14.         <tr><td>请选择数据库</td><td>
    15.                 <asp:DropDownList ID="ddlDatabaseList" runat="server">
    16.                 </asp:DropDownList></td></tr>
    17.         <tr><td>
    18.                 数据库文件名</td><td>
    19.                 <asp:TextBox ID="txtDbFileName" runat="server"></asp:TextBox></td></tr>
    20.         <tr><td>
    21.                 操作选项</td><td>
    22.                 <asp:RadioButton ID="rbBackup" runat="server" Checked="True" GroupName="action" Text="备份" />
    23.                 <asp:RadioButton ID="rbRestore" runat="server" GroupName="action" Text="还原" /></td></tr>
    24.                 <tr><td>
    25.                 操作</td><td>
    26.                            <asp:Button ID="btnOK" runat="server" OnClick="btnOK_Click" Text="执行" /></td></tr>
    27.         </table>
    28.         </div>
    29.         </form>
    30. </body>
    31. </html>
后台代码:
1. using System;
     2. using System.Data;
     3. using System.Configuration;
     4. using System.Collections;
     5. using System.Web;
     6. using System.Web.Security;
     7. using System.Web.UI;
     8. using System.Web.UI.WebControls;
     9. using System.Web.UI.WebControls.WebParts;
    10. using System.Web.UI.HtmlControls;
    11. using System.Data.SqlClient;
    12.
    13. /// <summary>
    14. /// 功能说明:本例中演示在asp.net中如何备份和恢复数据库
    15. /// 备份数据库主要使用数据库的备份语句。数据库备份文件放在
    16. /// App_Data文件夹下。
    17. /// 作者:周公
    18. /// 日期:2008-08-19
    19. /// 首发地址:http://blog.csdn.net/zhoufoxcn/archive/2008/08/19/2796077.aspx
    20. /// </summary>
    21. public partial class DatabaseAction : System.Web.UI.Page
    22. {
void Page_Load() void Page_Load(object sender, EventArgs e)
    24.         {
    25.                 if (!Page.IsPostBack)
    26.                 {
    27.                         //在DropDownList中绑定所有数据库
    28.                         SqlConnection connection = new SqlConnection("Data Source=ZHOUFOXCN;User ID=sa;Password=sa");
    29.                         SqlCommand command = new SqlCommand("sp_helpdb", connection);
    30.                         command.CommandType = CommandType.StoredProcedure;
    31.                         connection.Open();
    32.                         SqlDataReader reader = command.ExecuteReader();
    33.                         ddlDatabaseList.DataSource = reader;
    34.                         ddlDatabaseList.DataTextField = "Name";
    35.                         ddlDatabaseList.DataBind();
    36.                         reader.Close();
    37.                         connection.Close();
    38.                 }
    39.         }
void btnOK_Click() void btnOK_Click(object sender, EventArgs e)
    41.         {
    42.                 string dbFileName = txtDbFileName.Text.Trim();
    43.                 SqlConnection connection = new SqlConnection("Data Source=ZHOUFOXCN;User ID=sa;Password=sa");
    44.                 string dbName = ddlDatabaseList.SelectedValue;
    45.                 if (!dbFileName.EndsWith(".bak"))
    46.                 {
    47.                         dbFileName += ".bak";
    48.                 }
    49.                 if (rbBackup.Checked)//备份数据库
    50.                 {
    51.                         SqlCommand command = new SqlCommand("use master;backup database @name to disk=@path;",connection);
    52.                         connection.Open();
    53.                         string path=Server.MapPath("~\\App_Data")+"\\"+dbFileName;
    54.                         command.Parameters.AddWithValue("@name", dbName);
    55.                         command.Parameters.AddWithValue("@path", path);
    56.                         command.ExecuteNonQuery();
    57.                         connection.Close();
    58.                 }
    59.                 else//恢复数据库
    60.                 {
    61.                         SqlCommand command = new SqlCommand("use master;restore database @name from disk=@path;", connection);
    62.                         connection.Open();
    63.                         string path = Server.MapPath("~\\App_Data") + "\\" + dbFileName;
    64.                         command.Parameters.AddWithValue("@name", dbName);
    65.                         command.Parameters.AddWithValue("@path", path);
    66.                         command.ExecuteNonQuery();
    67.                         connection.Close();
    68.                 }
    69.         }
    70. }
以上代码在WindowsXP+VisualStudio2005+SQL Server2000下测试通过

在asp.net中备份还原SQL Server数据库相关推荐

  1. Asp.net(C#)中备份还原SQL Server数据库实现

    在web中,安全性主要体现在两个方面:一个是程序安全性,即防止网页在插入恶意代码:另一个是数据库安全性,这个我们可以经常备份数据库来实现. 在文中,我将演示如果在网页中备份和恢复数据库. 其实备份和恢 ...

  2. ASP.NET备份与还原SQL Server数据库

    ASP.NET备份与还原SQL Server数据库 1.备份 SqlConnection connection = new SqlConnection(ConfigurationManager.App ...

  3. 在ASP.NET中将图片存储到Sql Server数据库中

    在ASP.NET中将图片存储到Sql Server数据库中 http://hi.baidu.com/rayshow/blog/item/360e8ff9662c8b5a252df268.html 索引 ...

  4. 使用PowerShell和Windows任务计划程序备份Linux SQL Server数据库

    This article is an in-depth guide on how PowerShell can be used to maintain and manage SQL backup on ...

  5. 【ASP.NET】VS2015连接SQL Server数据库,实现登录、注册

    文章目录 1. 实验目标 2. 难点 3. 问题 3.1 SQL Server 3.2 Demo练习 3.3 编写页面时的错误 4. 总结 5. 页面 6. 主要代码 [ASP.NET]VS2015连 ...

  6. ASP.NET将EXCEL导入SQL SERVER数据库的代码

    ASP.NET将EXCEL导入SQL SERVER数据库的代码 2007-11-13 10:36 在网上找到一个Asp.Net将Excel数据导入Sql Server数据库的的例子,是调用存储过程的, ...

  7. 易语言 存储过程 mysql_在易语言中调用MS SQL SERVER数据库存储过程(Transact-SQL)方法总结...

    作者:liigo 日期:2010/8/25 Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接 ...

  8. python怎么导入sql数据库,##使用python将excel表中数据导入sql server数据库

    如何用python将excel数据导入到postgresql数据库中 把excel表格另存为csv文件 python将exce文件含有多个sheet同时l导入sqlserver数据库 需要使用xlrd ...

  9. [转贴]ASP.NET下对远程SQL SERVER数据库的备份和恢复的存储过程

    Sql server的帮助文档地址,在IE里面直接输入就行 mk:@MSITStore:C:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Boo ...

最新文章

  1. 每日一篇——lodash—array——differenceBy
  2. 因论文《致谢》走红全网的中科院博士,如今已是腾讯大佬!
  3. 基金委新规:填写论文成果,不再标注通讯和一作!影响有多大?
  4. 电子表单设计,表单打印,表单填写,数据发布,VC++,VB,源代码组件库
  5. 安装和使用VCLSkin美肤插件
  6. jquery检测浏览器类型
  7. 《SAS编程与数据挖掘商业案例》学习笔记之四
  8. 前端学习(2993):vue+element今日头条管理--加入git管理
  9. 不识 Pandas,纵是老手也枉然?
  10. 哈理工c语言,哈理工C语言试题.doc
  11. redis如何查看主从状态信息master和salve
  12. mysql+xf01x,[613]redis数据迁移
  13. 移动通信核心网技术总结(一)语音与上网业务的实现
  14. 【万人独木桥】那个夏天—后高考生活该如何安排?
  15. STM32硬件实现 CRC-16/MODBUS
  16. 【歪门邪道】Android中如何快速回到主页
  17. 蓝桥杯Python快速入门(4)
  18. 随机过程–Metropolis-Hastings算法
  19. 哈尔滨工业大学2019年计算机复试线,2019年哈尔滨工业大学考研复试分数线
  20. 2021年信息学部物联网工程学院学生科协前端大培训

热门文章

  1. c语言循环拆分成和,C语言拆分循环链表程序
  2. Cutting Codeforces Round #493 (Div. 2)
  3. c语言中判断一个字符串是否包含另一个字符串
  4. linux下 最常用基本命令
  5. UNIX网络编程笔记(4):简单的回射程序
  6. Java并发Semaphore信号量的学习
  7. Cookie、cookie使用方法
  8. Java中length,length(),size()的区别
  9. JavaScript覆盖率统计实现
  10. 【Linux高频命令专题(23)】tar