在web中,安全性主要体现在两个方面:一个是程序安全性,即防止网页在插入恶意代码;另一个是数据库安全性,这个我们可以经常备份数据库来实现。
在文中,我将演示如果在网页中备份和恢复数据库。
其实备份和恢复数据库都是利用SQL Server提供的SQL语句来备份的。
备份:use master;backup database @name to disk=@path;
恢复:use master;restore database @name from disk=@path;
上面用的是参数化SQL语句,可以在程序执行的时候动态给参数赋值。
代码:
-
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="DatabaseAction.aspx.cs"Inherits="DatabaseAction"%>
-
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-
<htmlxmlns="http://www.w3.org/1999/xhtml">
-
<headrunat="server">
-
<title>无标题页</title>
-
</head>
-
<body>
-
<formid="form1"runat="server">
-
<div>
-
<tableborder="0"width="100%">
-
<tr><tdcolspan="2">数据库还原和备份</td></tr>
-
<tr><td>请选择数据库</td><td>
-
<asp:DropDownListID="ddlDatabaseList"runat="server">
-
</asp:DropDownList></td></tr>
-
<tr><td>
-
数据库文件名</td><td>
-
<asp:TextBoxID="txtDbFileName"runat="server"></asp:TextBox></td></tr>
-
<tr><td>
-
操作选项</td><td>
-
<asp:RadioButtonID="rbBackup"runat="server"Checked="True"GroupName="action"Text="备份"/>
-
<asp:RadioButtonID="rbRestore"runat="server"GroupName="action"Text="还原"/></td></tr>
-
<tr><td>
-
操作</td><td>
-
<asp:ButtonID="btnOK"runat="server"OnClick="btnOK_Click"Text="执行"/></td></tr>
-
</table>
-
</div>
-
</form>
-
</body>
-
</html>
后台代码:
-
usingSystem;
-
usingSystem.Data;
-
usingSystem.Configuration;
-
usingSystem.Collections;
-
usingSystem.Web;
-
usingSystem.Web.Security;
-
usingSystem.Web.UI;
-
usingSystem.Web.UI.WebControls;
-
usingSystem.Web.UI.WebControls.WebParts;
-
usingSystem.Web.UI.HtmlControls;
-
usingSystem.Data.SqlClient;
-
-
-
-
-
-
-
-
-
publicpartialclassDatabaseAction:System.Web.UI.Page
- {
-
protectedvoidPage_Load(objectsender,EventArgse)
- {
-
if(!Page.IsPostBack)
- {
-
-
SqlConnectionconnection=newSqlConnection("DataSource=ZHOUFOXCN;UserID=sa;Password=sa");
-
SqlCommandcommand=newSqlCommand("sp_helpdb",connection);
- command.CommandType=CommandType.StoredProcedure;
- connection.Open();
- SqlDataReaderreader=command.ExecuteReader();
- ddlDatabaseList.DataSource=reader;
-
ddlDatabaseList.DataTextField="Name";
- ddlDatabaseList.DataBind();
- reader.Close();
- connection.Close();
- }
- }
-
protectedvoidbtnOK_Click(objectsender,EventArgse)
- {
-
stringdbFileName=txtDbFileName.Text.Trim();
-
SqlConnectionconnection=newSqlConnection("DataSource=ZHOUFOXCN;UserID=sa;Password=sa");
-
stringdbName=ddlDatabaseList.SelectedValue;
-
if(!dbFileName.EndsWith(".bak"))
- {
-
dbFileName+=".bak";
- }
-
if(rbBackup.Checked)
- {
-
SqlCommandcommand=newSqlCommand("usemaster;backupdatabase@nametodisk=@path;",connection);
- connection.Open();
-
stringpath=Server.MapPath("~//App_Data")+"//"+dbFileName;
-
command.Parameters.AddWithValue("@name",dbName);
-
command.Parameters.AddWithValue("@path",path);
- command.ExecuteNonQuery();
- connection.Close();
- }
-
else
- {
-
SqlCommandcommand=newSqlCommand("usemaster;restoredatabase@namefromdisk=@path;",connection);
- connection.Open();
-
stringpath=Server.MapPath("~//App_Data")+"//"+dbFileName;
-
command.Parameters.AddWithValue("@name",dbName);
-
command.Parameters.AddWithValue("@path",path);
- command.ExecuteNonQuery();
- connection.Close();
- }
- }
- }
以上代码在WindowsXP+VisualStudio2005+SQL Server2000下测试通过
分享到:
相关推荐
经测试绝对成功。请放心下载。这是一个实例,下载后请看查看说明文档。
备份SqlServer数据库 核心技术,还原SqlServer 核心技术等
Asp.net 备份和还原SQL Server及压缩Access数据库
功能如下: 备份、还原 SQL Server 数据表; 分离、附加 SQL Server 数据库; 备份、还原 Access 数据库;
Asp.net 备份、还原Ms SQLServer及压缩Access数据库
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 物流管理系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发,开发环境为vs2010,数据库为sqlserver2008,或者以上版本都可以,使用c#语言开发。 二、功能介绍 (1)...
asp.net 项目管理系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 二、功能介绍 本系统根据需求分析可以得知系统包括了三种权限的分配:管理员、员工、网管。下面详细...
sql server sqldmo_x86_x64,C#数据库备份还原很好用的.dll,里面有使用方法,引用Interop.SQLDMO.dll后的注意事项。 SQLDMO.dll是个好东西,ASP.NET利用它可以实现在线备份、还原数据库等各种功能。近日有客户...
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
asp.net备份SQLServer数据库和还原SQLServer数据库 string sql = "exec killspid 'FlowMS'";//调用存储过程 killspid(此存储过程应写在Master中) 来避免数据库被占用 这个很关键,要不然就出现错误:"因为数据库正在...
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 网站文件...
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网站文件类型 ...
3) 在SQL数据库中新建数据库,然后还原数据库,备份数据库路径为upload_files/database/data.bak; 2) 按下面说明修改跟upload_files/web.config文件中的数据库链接。 <add name="Cms" connectionString="server=...
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网站文件类型 ...
1、开发环境为Visual Studio 2013,数据库为SqlServer2005,使用.net 4.0开发。 2、数据库是bak文件,直接还原备份即可,数据库名为db_test。对了数据库连接操作是我自己的类 3、对了这是项目源文件,需要在VS中...
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网站文件类型 ...
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网站文件类型 ...