zoukankan      html  css  js  c++  java
  • 【转载】在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库

    在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();
       }
      }
     }
    }
  • 相关阅读:
    电影经典台词整理
    墨菲定律
    自我修养
    eclipse 点击 new window 后,关闭新增的窗口
    mysql 修改表结构以支持事务操作
    JavaScript高级程序设计学习笔记第六章--面向对象程序设计
    JavaScript高级程序设计学习笔记第五章--引用类型(函数部分)
    JavaScript高级程序设计学习笔记第五章--引用类型
    JavaScript高级程序设计学习笔记第四章--变量、作用域和内存问题
    JavaScript高级程序设计学习笔记第三章--基本概念
  • 原文地址:https://www.cnblogs.com/Jaylong/p/C12.html
Copyright © 2011-2022 走看看