惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
MyScale Blog
MyScale Blog
博客园 - Franky
The Cloudflare Blog
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
WordPress大学
WordPress大学
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
The Blog of Author Tim Ferriss
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
Google DeepMind News
Google DeepMind News
P
Proofpoint News Feed
Martin Fowler
Martin Fowler
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
腾讯CDC
雷峰网
雷峰网
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
博客园 - 【当耐特】
美团技术团队
云风的 BLOG
云风的 BLOG

博客园 - 编程山人

品牌大全 控制只生成一个子窗体(简单) C#类中的get 和set 函数的具体用法 What's TM? 在C#中利用SharpZipLib进行文件的压缩和解压缩 WinForm实现SQLServer存储图片 通过C#调用CHM帮助文件 [Remoting专题系列] 一:.NET Remoting [Remoting专题系列] 二:远程对象 [Remoting专题系列] 三:激活模式 [Remoting专题系列] 四:生存期租约 [Remoting专题系列] 五:信道 [Remoting专题系列] 六:异步调用 [Remoting专题系列] 七:调用上下文 [Remoting专题系列] 八:元数据 [Remoting专题系列] 九:动态发布 [Remoting专题系列] 十:追踪服务 [Remoting专题系列] 十一:事件 [Remoting专题系列] 十二:配置文件
在C#中运用SQLDMO备份和恢复Microsoft SQL Server数据库
编程山人 · 2007-06-14 · via 博客园 - 编程山人

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