[整理] C#调用SQLDMO.DLL时间数据库备份 / 还原。

 1 /// <summary>
2 /// 通过调用MSSQL的SQLDMO.DLL文件来实现备份数据库
3 /// 1.首先在在项目中引用SQLDMO.DLL文件。
4 /// 2.在引用中的SQLDMO.DLL文件右击-->属性-->设置[嵌入互操作类型]为flash
5 /// </summary>
6 public static void DBBackup()
7 {
8 SQLDMO.Backup dbBackup = new SQLDMO.BackupClass();
9 SQLDMO.SQLServer sqlServer = new SQLDMO.SQLServerClass();
10 try
11 {
12 sqlServer.LoginSecure = false;
13 sqlServer.Connect("localhost", "sa", "");
14 dbBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
15 dbBackup.Database = "kuang"; //数据库名字
16 dbBackup.Files = @"d:\kuang_bak.bak"; //备份位置
17 dbBackup.BackupSetName = "kuang"; //名称,在企业管理器里面选择备份的时候也有这个,貌似没用。
18 dbBackup.BackupSetDescription = "数据库备份"; //描述,在企业管理器里面选择备份的时候也有这个,貌似没用。
19 dbBackup.Initialize = true;
20 dbBackup.SQLBackup(sqlServer);
21 }
22 catch
23 {
24 throw;
25 }
26 finally
27 {
28 sqlServer.DisConnect();
29 }
30 }

 

 1 /// <summary>
2 /// 通过调用MSSQL的SQLDMO.DLL文件来实现从备份文件恢复到是数据库
3 /// 注:恢复是数据库必须是没有链接的。清楚链接的方法:在企业管理器右击数据库-->分离数据库-->点击清楚按钮即可
4 /// </summary>
5 private void DBReply()
6 {
7 SQLDMO.Restore restore = new SQLDMO.RestoreClass();
8 SQLDMO.SQLServer sqlserver = new SQLDMO.SQLServerClass();
9 sqlserver.LoginSecure = false;
10 sqlserver.Connect("localhost", "sa", "");
11 restore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
12 restore.Database = "kuang";
13 restore.Files = @"d:\kuang_bak.bak";
14 restore.FileNumber = 1;
15 restore.SQLRestore(sqlserver);
16 }


在回复的过程中,需要保证数据库没有正在使用,网上看到的代码经测试没有效果,如果有朋友知道方法的恳请您回复一下,谢谢。

代码是网络上看到的,测试整理了一下,感谢原作者。

转载于:https://www.cnblogs.com/xshwy/archive/2012/01/14/2322220.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值