在C#中运用SQLDMO备份和恢复SQLServer数据库

转载 2007年09月13日 09:24:00
在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库

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

    SQLDMO由Microsoft SQL Server自带的SQLDMO.dll提供,由于SQLDMO.dll是一个COM对象,所以大家在用之前必须在.NET项目中添加对它的引用。

    下面是用C#语言书写的用于Microsoft SQL Server数据库备份和恢复的类:

using System;
namespace DbService
{
///
/// DbOper类,主要应用SQLDMO实现对Microsoft SQL Server数据库的备份和恢复
///
public sealed class DbOper
{
  ///
  /// DbOper类的构造函数
  ///
  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();
   }
  }
}
}

    这段代码虽然很短,但是却很实用,希望能够对大家有所帮助。 

SQLDMO类在C#中的应用

本文转自:http://www.csharphelp.com/archives2/archive342.htmlSQLDMO For C#By Kevin Goss Download SQLDMO.z...
  • shenkedong9
  • shenkedong9
  • 2005年08月08日 16:25
  • 1118

C#中运用SQLDMO备份和恢复SQLServer数据库

SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装了Microsoft SQL Server数据库中的对象。SQLDMO是Microsoft...
  • vincentlee_msdn
  • vincentlee_msdn
  • 2011年08月15日 10:09
  • 86

SQLDMO数据库备份还原 带进度条

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin...
  • hutao1101175783
  • hutao1101175783
  • 2014年03月29日 10:51
  • 1844

在C#中用SQLDMO创建SQL数据库

        ///              ///   创建数据库。           ///           ///   表示要连接的服务器名        ///   指定要创建的数...
  • ltolll
  • ltolll
  • 2006年08月30日 16:24
  • 1864

Sqlserver命令备份恢复数据库

1,备份,创建脚本bak.bat,内容 sqlcmd -i "f:\dbbak\bak.sql" 脚本调用恢复的语句文本 :connect . backup database db1 to disk ...
  • jc_benben
  • jc_benben
  • 2017年05月12日 15:34
  • 620

SQLserver数据备份与恢复

先前做了数据库的备份程序,现在要做一个恢复功能,这样,每天生成备份后,恢复到备份机器上。可以随便检测。   四、数据恢复 1、Restore vs. Recovery Restore和...
  • aasmfox
  • aasmfox
  • 2012年10月31日 17:39
  • 2502

C# 运用SQLDMO备份和恢复Microsoft SQL Server数据库

C# 运用SQLDMO备份和恢复Microsoft SQL Server数据库【转】   http://hi.baidu.com/yangyangye2008/blog/item/679160c51b...
  • gxj022
  • gxj022
  • 2010年02月06日 21:47
  • 316

在c#中运用sqldmo备份和恢复sqlserver数据库(重点)

我们知道,用SQLDMO可以实现对数据库的备份与恢复,下面给出简单的实现方法。首先需要添加对SQLDMO引用1.实现数据库的备份: 1/**////  2        /// 数据库备份 3    ...
  • zhanglei5415
  • zhanglei5415
  • 2007年08月06日 09:11
  • 1177

SQL Server 2008 中使用SQLDMO 备份数据 还原数据等

 SQL Server 异常 COM 类工厂中CLSID 为 {10021F00-E260-11CF-AE68-00AA004A34D5} 的组件时失败,原因是出现以下错误: 80070005 ...
  • yanzhibo
  • yanzhibo
  • 2014年03月18日 23:04
  • 3526

C# SQLSERVER2008数据库备份和还原的两种方法 (有进度条)

:方法一(不使用SQLDMO): /// ///备份方法 /// SqlConnectionconn=newSqlConnection("Ser...
  • senlin20
  • senlin20
  • 2013年03月15日 11:12
  • 4122
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在C#中运用SQLDMO备份和恢复SQLServer数据库
举报原因:
原因补充:

(最多只允许输入30个字)