在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
{
 /// <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();
   }
  }
 }
}

转载于:https://www.cnblogs.com/Jaylong/archive/2011/06/10/C12.html

【转载】在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库相关推荐

  1. C#中连接使用Windows身份验证的sql server数据库

    C#中连接使用Windows身份验证的sql server数据库 最近在写一个系统,主要使用C#语言完成系统内各功能模块的编写.系统包含数据库,需要对数据库内的数据进行增删改查,这就涉及到了数据库的连 ...

  2. 实例讲解用.NET技术将Excel表格中的数据导入到特定的SQL Server数据库中

    由于管理需要,公司决定上一套信息管理系统,将原来的用Excel所做的记录用管理系统来管理.通过努力,我终于作了一套类似<牛腩新闻发布系统>的客户信息管理系统.可原来的Excel中的数据该如 ...

  3. 在ubuntu中使用命令行工具sqlcmd连接sql server数据库

    步骤: 首先安装sqlcmd工具 注意:如果你连接的用户是 root用户,命令中带有 sudo 的,sudo都可以酌情去掉,不行再加上 1 安装curl软件包: sudo apt install cu ...

  4. Sql Server数据库的备份和恢复措施

    Sql   Server数据库的备份和恢复措施 Sql   Server数据库的备份和恢复措施 一.备份数据库 1.打开SQL企业管理器,在控制台根目录中依次点开Microsoft   SQL   S ...

  5. sql server数据库中raiserror函数的用法1

    server数据库中raiserror的作用就和asp.net中的throw new Exception一样,用于抛出一个异常或错误.这个错误可以被程序捕捉到. raiserror的常用格式如下: r ...

  6. DBATools PowerShell SQL Server数据库备份命令

    In my earlier PowerShell SQL Server article, SQL Database Backups using PowerShell Module – DBATools ...

  7. 使用PowerShell和Windows任务计划程序备份Linux SQL Server数据库

    This article is an in-depth guide on how PowerShell can be used to maintain and manage SQL backup on ...

  8. SQL Server数据库备份和还原报告

    In the previous articles, we discussed several ways of taking backup and testing the restore process ...

  9. [转贴]ASP.NET下对远程SQL SERVER数据库的备份和恢复的存储过程

    Sql server的帮助文档地址,在IE里面直接输入就行 mk:@MSITStore:C:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Boo ...

最新文章

  1. ASP.Net中自定义Http处理及应用之HttpModule篇
  2. 防护很重要!教你教你认识和检验安防产品的IP防护等级
  3. go interface转int_图解go反射实现原理
  4. 从0到1,关于产品冷启动阶段。
  5. ios mdm更新应用_因使用MDM下架的家长控制应用OurPact重返App Store
  6. Go使用HTTPClient发送Get Post请求
  7. Win10 UWP开发中的重复性静态UI绘制小技巧 1
  8. Google 都在用的 6 个休息小技巧,让你工作效率翻倍
  9. 信息安全工程师笔记-网络安全风险评估技术原理与应用
  10. JMeter二次开发(1)-eclipse环境配置及源码编译
  11. 《编译原理》学习笔记 ·001【第一章:总论】
  12. Js时间相关处理函数
  13. 磨刀室-文本编辑之全面接触PDF:最好用的PDF软件汇总(转)
  14. 中国产品在越南如何落地?
  15. Quartus ii 13.1 数字时钟
  16. 水星路由器怎么设置虚拟服务器,水星路由器怎么设置图解教程
  17. 数据的更新(update的用法)笔记
  18. python学英语库_交流学英语的经验-js焦点图怎么写-WinFrom控件库|.net开源控件库|HZHControls官网...
  19. Yolov5中使用Resnet18作为主干网络
  20. iOS--TexiField相关

热门文章

  1. 关于计算机英语手抄报全国一等奖,英语手抄报:Walking to School
  2. html post举例,html post请求之a标签的两种用法举例
  3. db2 删除存储过程_数据库教程-SQL Server存储过程使用及异常处理
  4. SpringBoot入门详解源码分析
  5. shell函数日期之间的操作(日期转秒,日期间隔秒,日期间隔天)
  6. C#中的is、as及转换
  7. R语言数据转换(split-apply-combin…
  8. 空间谱专题07:干涉仪仿真思路
  9. 我从草原来:自由摄影人李伟 (内蒙古电视台“蔚蓝的故乡”20110407)
  10. python八大选择排序_python之八大排序方法