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

原创 2004年06月04日 11:08: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项目中添加对它的引用,如下图所示:

在.NET项目中添加对SQLDMO的引用

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

using System;

namespace DbService
{
 /// <summary>
 /// DbOper类,主要应用SQLDMO实现对Microsoft SQL Server数据库的备份和恢复
 /// </summary>
 public sealed class DbOper
 {
  /// <summary>
  /// DbOper类的构造函数
  /// </summary>
  private DbOper()
  {
  }

  /// <summary>
  /// 数据库备份
  /// </summary>
  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();
   }
  }

  /// <summary>
  /// 数据库恢复
  /// </summary>
  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();
   }
  }
 }
}

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

SQL数据库有关备份和恢复的语句及操作

备份的代码如下: //开始备份 with adoquery1 do begin close; sql.Clea...
  • KH717586350
  • KH717586350
  • 2015年12月23日 21:42
  • 1928

SQL Server 的备份与恢复

备份的三种形式:日志备份,差异备份,全备份
  • wujiandao
  • wujiandao
  • 2016年06月23日 22:19
  • 2366

SQL Server 2008数据库创建,备份,还原图解及注意点

SQL Server 2008数据库创建,备份,还原图解及注意点 一、新建数据库 步骤1:点击“新建数据库”。 步骤2:输入数据库名称,设置数据库文件保存位置(注意点:最好自己设置数...
  • haiross
  • haiross
  • 2014年06月30日 11:22
  • 17840

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

SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装了Microsoft SQL Server数据库中的对象。SQLDMO是Microsoft...
  • cnjack
  • cnjack
  • 2012年06月13日 15:52
  • 566

Delphi用SQLDMO实现带进度条的SQL Server数据库备份!

  • 2010年04月08日 12:42
  • 3KB
  • 下载

数据库知识 Microsoft SQL Server备份和恢复措施

一、备份数据库     1、打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server。     2、SQL Server组-->双击打开你的服务器-->双击打开数据库...
  • waltertan1988
  • waltertan1988
  • 2015年04月26日 17:29
  • 152

SQL Server数据库备份与恢复(C#代码示例)

  • 2012年01月13日 09:58
  • 519KB
  • 下载

Unity3d C# 利用SQLDMO操控SQL Server

在开发基于SQL Server数据库的应用程序时,经常会遇到需要知道SQL Server数据库对象的相关信息的情况,例如SQL Server中有哪些数据库,这些数据库中有哪些数据表,每个数据表有哪些字...
  • braveyoung123
  • braveyoung123
  • 2013年10月23日 15:04
  • 839

c# 用SQLDMO 进行sql数据库备份及还原

只能程序与数据库同在一台机器可用,除了备份完可以下载备份文件暂外无其他办法。还有数据还原时杀掉链接,还原时提示链接失败,第二次执行正常,暂时用两次操作解决。 一、ASP.NET   string ...
  • BQL_Email
  • BQL_Email
  • 2012年07月25日 17:46
  • 629

精彩编程与编程技巧-Microsoft SQL Server 7.0 备份及恢复相关问题...

  • 2009年10月09日 19:50
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库
举报原因:
原因补充:

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