1 /// <summary>
2 /// 通過調(diào)用MSSQL的SQLDMO.DLL文件來實(shí)現(xiàn)備份數(shù)據(jù)庫
3 /// 1.首先在在項(xiàng)目中引用SQLDMO.DLL文件。
4 /// 2.在引用中的SQLDMO.DLL文件右擊-->屬性-->設(shè)置[嵌入互操作類型]為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"; //數(shù)據(jù)庫名字
16 dbBackup.Files = @"d:\kuang_bak.bak"; //備份位置
17 dbBackup.BackupSetName = "kuang"; //名稱,在企業(yè)管理器里面選擇備份的時(shí)候也有這個(gè),貌似沒用。
18 dbBackup.BackupSetDescription = "數(shù)據(jù)庫備份"; //描述,在企業(yè)管理器里面選擇備份的時(shí)候也有這個(gè),貌似沒用。
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 /// 通過調(diào)用MSSQL的SQLDMO.DLL文件來實(shí)現(xiàn)從備份文件恢復(fù)到是數(shù)據(jù)庫
3 /// 注:恢復(fù)是數(shù)據(jù)庫必須是沒有鏈接的。清楚鏈接的方法:在企業(yè)管理器右擊數(shù)據(jù)庫-->分離數(shù)據(jù)庫-->點(diǎn)擊清楚按鈕即可
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 }
在回復(fù)的過程中,需要保證數(shù)據(jù)庫沒有正在使用,網(wǎng)上看到的代碼經(jīng)測試沒有效果,如果有朋友知道方法的懇請(qǐng)您回復(fù)一下,謝謝。
代碼是網(wǎng)絡(luò)上看到的,測試整理了一下,感謝原作者。