C#备份和恢复SQLServer数据库

文章作者 100test 发表时间 2008:01:04 11:54:24
来源 100Test.Com百考试题网


  SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装了Microsoft SQL Server数据库中的对象。SQLDMO是Microsoft SQL Server中企业管理器所使用的应用程序接口,所以它可以执行很多功能,其中当然也包括对数据库的备份和恢复。

  SQLDMO由Microsoft SQL Server自带的SQLDMO.dll提供,由于SQLDMO.dll是一个COM对象(有关COM的概念,请参看我的COM与COM 技术那篇文章),所以大家在用之前必须在.Net项目中添加对它的引用。
  下面是用C#语言书写的用于Microsoft SQL Server数据库备份和恢复的类:

public sealed class DbOper
{
///


/// DbOper类的构造函数
///作者:Shadow
///

private DbOper()
{
}

///
/// 数据库备份
///

public static void DbBackup()
{
SQLDMO.Backup oBackup = new SQLDMO.BackupClass().
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass().
try
{
oSQLServer.LoginSecure = false.
oSQLServer.Connect("localhost", "sa", "1234").
oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database.
oBackup.Database = "Northwind".
oBackup.Files = @"d:\Northwind.bak".
oBackup.BackupSetName = "Northwind".
oBackup.BackupSetDescription = "数据库备份".
oBackup.Initialize = true.
oBackup.SQLBackup(oSQLServer).
}
catch
{
throw.
}
finally
{
oSQLServer.DisConnect().
}
}

///
/// 数据库恢复
///

public static void DbRestore()
{
SQLDMO.Restore oRestore = new SQLDMO.RestoreClass().
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass().
try
{
oSQLServer.LoginSecure = false.
oSQLServer.Connect("localhost", "sa", "1234").
oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database.
oRestore.Database = "Northwind".
oRestore.Files = @"d:\Northwind.bak".
oRestore.FileNumber = 1.
oRestore.ReplaceDatabase = true.
oRestore.SQLRestore(oSQLServer).
}
catch
{
throw.
}
finally
{
oSQLServer.DisConnect().
}
}
}



相关文章


学习C语言艺术清屏
C#实现SQLServer数据库日志的配置方法
数据库操作类实现(C#,SqlClient)
C#获取数据库表的创建脚本
C#备份和恢复SQLServer数据库
C#中对XML文件的基本操作
c语言下的工厂模式——ipmi源码分析
计算机等级二级C语言实例解答
对co t使用的理解
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛