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();
       }
      }
     }
    }
  • 相关阅读:
    谈一谈对象池SafeObjectPool能干什么
    .net core 程序退出事件
    .NETCore 快速开发做一个简易商城
    Git创建子分支,合并分支并提交
    Vue项目中关闭eslint的方法
    Missing space before function parentheses
    单引号变双引号 格式化去掉分号
    Docker Swarm搭建多服务器下Docker集群
    Asp.Net Core中服务的生命周期选项区别和用法
    KnockoutJS-模板绑定
  • 原文地址:https://www.cnblogs.com/Jaylong/p/C12.html
Copyright © 2011-2022 走看看