使用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# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ...
[详细]
蜡笔小新 2024-12-21 16:55:52
-
本文介绍了解决在Windows操作系统或SQL Server Management Studio (SSMS) 中遇到的“microsoft.ACE.oledb.12.0”提供程序未注册问题的方法,特别针对Access Database Engine组件的安装。 ...
[详细]
蜡笔小新 2024-12-21 15:21:22
-
-
本文详细介绍了如何解决 Microsoft SQL Server 中用户 'sa' 登录失败的问题。错误代码为 18470,提示该帐户已被禁用。我们将通过 Windows 身份验证方式登录,并启用 'sa' 帐户以恢复其访问权限。 ...
[详细]
蜡笔小新 2024-12-20 18:41:13
-
本文档介绍了如何在Visual Studio 2010环境下,利用C#语言连接SQL Server 2008数据库,并实现基本的数据操作,如增删改查等功能。通过构建一个面向对象的数据库工具类,简化了数据库操作流程。 ...
[详细]
蜡笔小新 2024-12-20 14:11:19
-
本文介绍了如何通过在数据库表中增加一个字段来记录文章的访问次数,并提供了一个示例方法用于更新该字段值。 ...
[详细]
蜡笔小新 2024-12-20 12:12:15
-
本文针对Windows 7环境下使用IIS 7.5和.NET Framework 4.0时遇到的ASP.NET设置不适用于集成托管管道模式的问题,提供了一个有效的解决方案。通过调整web.config文件中的特定配置,可以轻松解决此问题。 ...
[详细]
蜡笔小新 2024-12-17 11:48:52
-
Microsoft即将发布WPF/E的CTP(Community Technology Preview)和SDK,标志着RIA(Rich Internet Application)技术的新里程碑。更多详情及下载链接请参见MSDN官方页面。 ...
[详细]
蜡笔小新 2024-12-16 16:06:18
-
本文介绍了WGS84坐标系统及其精度改进历程,探讨了火星坐标系统的安全性和应用背景,并详细解析了火星坐标与百度坐标之间的转换算法,提供了C#语言的实现代码。 ...
[详细]
蜡笔小新 2024-12-15 20:11:43
-
在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ...
[详细]
蜡笔小新 2024-12-21 15:46:52
-
本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ...
[详细]
蜡笔小新 2024-12-21 15:41:04
-
通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ...
[详细]
蜡笔小新 2024-12-21 14:26:22
-
本文详细介绍如何在 iOS 7 环境下申请苹果开发者账号,涵盖从访问开发者网站到最终激活账号的完整流程。包括选择个人或企业账号类型、付款方式及注意事项等。 ...
[详细]
蜡笔小新 2024-12-21 10:20:50
-
本文介绍了如何计算给定数组中所有非质数元素的总和,并提供了多种编程语言的实现示例。 ...
[详细]
蜡笔小新 2024-12-16 09:25:03
-
本文精选了几本适合不同水平学习者的C语言书籍,从基础入门到进阶提高,帮助读者全面掌握C语言的核心知识和技术。 ...
[详细]
蜡笔小新 2024-12-15 19:35:11
-
探讨如何在DotNetNuke中实现对所有用户登录活动的全面时间戳记录,包括数据存储位置和配置方法。 ...
[详细]
蜡笔小新 2024-12-15 19:24:35
-