C#源码 备份和恢复数据库

SQLDMO(SQL Distributed Management Objects,SQL分布式管理对象)封装了Microsoft SQL Server数据库中的对象。SQLDMO是Microsoft SQL Server中企业管理器所使用的应用程序接口,所以它可以执行很多功能,其中当然也包括对数据库的备份和恢复。
当然要用到 sqldmo 来做这个工作
找到 sqldmo.dll这个文件
C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll
用.Net框架提供的工具转成受托管代码
tlbimp sqldmo.dll /out: c:\SQLDMO.dll

1usingSystem;
2
3namespaceDbService
4{
5/**////<summary>
6///DbOper类,主要应用SQLDMO实现对MicrosoftSQLServer数据库的备份和恢复
7///</summary>

8publicsealedclassDbOper
9{
10/**////<summary>
11///DbOper类的构造函数
12///</summary>

13privateDbOper()
14{
15}

16
17/**////<summary>
18///数据库备份
19///</summary>

20publicstaticvoidDbBackup()
21{
22SQLDMO.BackupoBackup=newSQLDMO.BackupClass();
23SQLDMO.SQLServeroSQLServer=newSQLDMO.SQLServerClass();
24try
25{
26oSQLServer.LoginSecure=false;
27oSQLServer.Connect("localhost","sa","1234");
28oBackup.Action=SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
29oBackup.Database="Northwind";
30oBackup.Files=@"d:\Northwind.bak";
31oBackup.BackupSetName="Northwind";
32oBackup.BackupSetDescription="数据库备份";
33oBackup.Initialize=true;
34oBackup.SQLBackup(oSQLServer);
35}

36catch
37{
38throw;
39}

40finally
41{
42oSQLServer.DisConnect();
43}

44}

45
46/**////<summary>
47///数据库恢复
48///</summary>

49publicstaticvoidDbRestore()
50{
51SQLDMO.RestoreoRestore=newSQLDMO.RestoreClass();
52SQLDMO.SQLServeroSQLServer=newSQLDMO.SQLServerClass();
53try
54{
55oSQLServer.LoginSecure=false;
56oSQLServer.Connect("localhost","sa","1234");
57oRestore.Action=SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
58oRestore.Database="Northwind";
59oRestore.Files=@"d:\Northwind.bak";
60oRestore.FileNumber=1;
61oRestore.ReplaceDatabase=true;
62oRestore.SQLRestore(oSQLServer);
63}

64catch
65{
66throw;
67}

68finally
69{
70oSQLServer.DisConnect();
71}

72}

73}

74}

75
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值