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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

博客园 - 编程山人

品牌大全 控制只生成一个子窗体(简单) 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(); 
   }
 
  }
 
}
 
}