使用c#(ASP.NET)备份还原mssql数据库
作者:认知天下微博 | 来源:互联网 | 2014-05-28 16:07
如果我们使用虚拟主机为网站空间,这时如果需要备份和还原msssql数据库是非常麻烦,如果在网站后台管理当中加入对msssql数据库的操纵,可以使我们对数据库的备份和还原操作很方便,只要一键便可生成。C#(asp.net)备份mssql数据库代码stringpathCreatePat
如果我们使用虚拟主机为网站空间,这时如果需要备份和还原msssql数据库是非常麻烦,如果在网站后台管理当中加入对msssql数据库的操纵,可以使我们对数据库的备份和还原操作很方便,只要一键便可生成。
C#(asp.net)备份mssql数据库代码
string path =
CreatePath();
SQLDMO.Backup oBackup =
new SQLDMO.BackupClass();
SQLDMO.SQLServer
oSQLServer = new SQLDMO.SQLServerClass();
try
{
oSQLServer.LoginSecure = false;
oSQLServer.Connect(server, uid, pwd);
oBackup.Action =
SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
oBackup.Database = database;
oBackup.Files = path;
oBackup.BackupSetName = database;
oBackup.BackupSetDescription = "数据库备份";
oBackup.Initialize = true;
oBackup.SQLBackup(oSQLServer);
return true;
}
catch (Exception ex)
{
return false;
throw ex;
}
finally
{
oSQLServer.DisConnect();
}
C#(asp.net)还原mssql数据库代码
SQLDMO.Restore
oRestore = new SQLDMO.RestoreClass();
SQLDMO.SQLServer
oSQLServer = new SQLDMO.SQLServerClass();
oRestore.Action = 0;
//SQLDMO.RestoreSink_PercentCompleteEventHandler pceh = new
SQLDMO.RestoreSink_PercentCompleteEventHandler(Step);
//
oRestore.PercentComplete += pceh;
try
{
oSQLServer.Connect(server, uid, pwd);
SQLDMO.QueryResults qr = oSQLServer.EnumProcesses(-1);
int iColPIDNum = -1;
int iColDbName = -1;
//杀死其它的连接进程
for (int i = 1; i <= qr.Columns; i++)
{
string strName = qr.get_ColumnName(i);
if (strName.ToUpper().Trim() == "SPID")
{
iColPIDNum = i;
}
else if (strName.ToUpper().Trim() == "DBNAME")
{
iColDbName = i;
}
if (iColPIDNum != -1 && iColDbName != -1)
break;
}
for (int i = 1; i <= qr.Rows; i++)
{
int lPID = qr.GetColumnLong(i, iColPIDNum);
string strDBName = qr.GetColumnString(i, iColDbName);
if (strDBName.ToUpper() == "CgRecord".ToUpper())
oSQLServer.KillProcess(lPID);
}
oRestore.Action =
SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
oRestore.Database = database;
oRestore.Files =
HttpContext.Current.Server.MapPath(DropDownList_path.SelectedValue.Trim());
oRestore.FileNumber = 1;
oRestore.ReplaceDatabase = true;
oRestore.SQLRestore(oSQLServer);
base.RegisterStartupScript("page",
"window.location.href='DbBackup.aspx';", "" +
gt.TranslateChineseToOther("还原成功", "zh-CN", Language) + "");
}
catch (Exception ex)
{
base.RegisterStartupScript("page",
"window.location.href='DbBackup.aspx';", "" +
gt.TranslateChineseToOther("恢复数据库失败,请关闭所有和该数据库连接的程序!", "zh-CN",
Language) + "");
//throw ex;
}
finally
{
oSQLServer.DisConnect();
}
推荐阅读
-
本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ...
[详细]
蜡笔小新 2024-12-23 13:03:32
-
在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ...
[详细]
蜡笔小新 2024-12-27 09:27:14
-
-
本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ...
[详细]
蜡笔小新 2024-12-27 14:24:17
-
本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ...
[详细]
蜡笔小新 2024-12-25 18:45:55
-
本文探讨了在使用Azure Active Directory进行用户身份验证时,结合AddAuthentication和RequireAuthenticatedUser的必要性及其潜在冗余问题。 ...
[详细]
蜡笔小新 2024-12-25 12:41:18
-
本文探讨了在 ASP.NET MVC 5 中实现松耦合组件的方法。通过分离关注点,应用程序的各个组件可以更加独立且易于维护和测试。文中详细介绍了依赖项注入(DI)及其在实现松耦合中的作用。 ...
[详细]
蜡笔小新 2024-12-25 09:14:49
-
本文介绍了如何在C#应用程序中有效隐藏SQLCMD命令行窗口,确保程序运行时不会弹出黑色命令提示符窗口。 ...
[详细]
蜡笔小新 2024-12-24 08:32:05
-
本文详细介绍了 iBatis.NET 中的 Iterate 元素,它用于遍历集合并重复生成每个项目的主体内容。通过该元素,可以实现类似于 foreach 的功能,尽管 iBatis.NET 并未直接提供 foreach 标签。 ...
[详细]
蜡笔小新 2024-12-23 18:51:40
-
本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ...
[详细]
蜡笔小新 2024-12-28 09:10:26
-
在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ...
[详细]
蜡笔小新 2024-12-28 08:20:07
-
本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ...
[详细]
蜡笔小新 2024-12-28 02:40:28
-
本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ...
[详细]
蜡笔小新 2024-12-27 20:40:29
-
本文介绍了如何使用jQuery根据元素的类型(如复选框)和标签名(如段落)来获取DOM对象。这有助于更高效地操作网页中的特定元素。 ...
[详细]
蜡笔小新 2024-12-27 19:44:14
-
本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ...
[详细]
蜡笔小新 2024-12-27 19:05:41
-
本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ...
[详细]
蜡笔小新 2024-12-27 18:20:43
-