[整理] C#调用SQLDMO.DLL时间数据库备份 / 还原。
2012-01-14 09:49
381 查看
/// <summary> /// 通过调用MSSQL的SQLDMO.DLL文件来实现备份数据库 /// 1.首先在在项目中引用SQLDMO.DLL文件。 /// 2.在引用中的SQLDMO.DLL文件右击-->属性-->设置[嵌入互操作类型]为flash /// </summary> public static void DBBackup() { SQLDMO.Backup dbBackup = new SQLDMO.BackupClass(); SQLDMO.SQLServer sqlServer = new SQLDMO.SQLServerClass(); try { sqlServer.LoginSecure = false; sqlServer.Connect("localhost", "sa", ""); dbBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database; dbBackup.Database = "kuang"; //数据库名字 dbBackup.Files = @"d:\kuang_bak.bak"; //备份位置 dbBackup.BackupSetName = "kuang"; //名称,在企业管理器里面选择备份的时候也有这个,貌似没用。 dbBackup.BackupSetDescription = "数据库备份"; //描述,在企业管理器里面选择备份的时候也有这个,貌似没用。 dbBackup.Initialize = true; dbBackup.SQLBackup(sqlServer); } catch { throw; } finally { sqlServer.DisConnect(); } }
/// <summary> /// 通过调用MSSQL的SQLDMO.DLL文件来实现从备份文件恢复到是数据库 /// 注:恢复是数据库必须是没有链接的。清楚链接的方法:在企业管理器右击数据库-->分离数据库-->点击清楚按钮即可 /// </summary> private void DBReply() { SQLDMO.Restore restore = new SQLDMO.RestoreClass(); SQLDMO.SQLServer sqlserver = new SQLDMO.SQLServerClass(); sqlserver.LoginSecure = false; sqlserver.Connect("localhost", "sa", ""); restore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database; restore.Database = "kuang"; restore.Files = @"d:\kuang_bak.bak"; restore.FileNumber = 1; restore.SQLRestore(sqlserver); }
在回复的过程中,需要保证数据库没有正在使用,网上看到的代码经测试没有效果,如果有朋友知道方法的恳请您回复一下,谢谢。
代码是网络上看到的,测试整理了一下,感谢原作者。
相关文章推荐
- [整理] C#调用SQLDMO.DLL时间数据库备份 / 还原。 (香神无涯) // C#实现SQLSERVER2000数据库备份还原的两种方法 (带进度条)
- WPF C#开发中利用SQLDMO进行数据库备份还原操作中的注意点
- 如何使用T-SQL备份还原数据库及c#如何调用执行?
- 利用C#还原数据库(SQL SERVER)备份文件到指定路径
- Asp.net 不使用SQLDMO实现数据库备份和还原
- C#调用C++的DLL搜集整理的所有数据类型转换方式
- C++/CLI C#调用dll速度比较和内存分配时间测试
- C#中数据库备份还原
- C#调用C++的DLL搜集整理的所有数据类型转换方式
- C#中结合使用SQLDMO实现备份、还原SQLserver数据库
- 【MySql】C#数据库备份与还原
- 使用SQLDMO进行数据库备份与还原
- C#调用C++的DLL搜集整理的所有数据类型转换方式
- 数据库备份与还原c#.net实现
- C#中DLL调用资料整理
- C#中数据库备份还原
- 用SQLDMO在ASP.NET中备份和还原数据库(SQLSERVER2000)
- C#中数据库备份还原 精简
- 利用SQLDMO备份与还原数据库
- C#附加数据库算法及思路,包括附加、还原、备份、分离、压缩、创建、修改等常见操作(修正)