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();
       }
      }
     }
    }
  • 相关阅读:
    114. Flatten Binary Tree to Linked List
    odoo docker环境下将日志存储在数据库中ir_logging
    odoo 日志切割存储,日志存储到数据库中
    odoo 通过nginx反向代理后获取真实IP地址
    html样式超出长度部分使用省略号显示
    vim 查找字串所在的位置
    系统重启 后 Docker服务及容器自动启动设置
    字串格式化换format使用
    markdown 测试代码高亮
    协程与线程的简单区分
  • 原文地址:https://www.cnblogs.com/Jaylong/p/C12.html
Copyright © 2011-2022 走看看