SQL语句是通用的,/* Author:Terry.Sai.M.J 备份 Location:BeiJing DateTime:GETDATE() Description:使用镜像备份 */IF DB_ID('db') IS NOT NULL DROP DATABASE db; GOCREATE DATABASE db; GOCREATE TABLE db.dbo.T(ID INT);INSERT INTO db.dbo.T SELECT 1;BACKUP DATABASE db TO DISK='c:\1.bak' MIRROR TO DISK='c:\2.bak' WITH FORMAT,MEDIANAME='MydbMedia';RESTORE DATABASE db FROM DISK='c:\2.bak' WITH RECOVERY,REPLACESELECT COUNT(*) FROM db.dbo.TRESTORE DATABASE db FROM DISK='c:\1.bak' WITH RECOVERY,REPLACESELECT COUNT(*) FROM db.dbo.TDROP DATABASE db; GO
Author:Terry.Sai.M.J 备份
Location:BeiJing
DateTime:GETDATE()
Description:使用镜像备份
*/IF DB_ID('db') IS NOT NULL
DROP DATABASE db;
GOCREATE DATABASE db;
GOCREATE TABLE db.dbo.T(ID INT);INSERT INTO db.dbo.T SELECT 1;BACKUP DATABASE db TO DISK='c:\1.bak' MIRROR TO DISK='c:\2.bak'
WITH FORMAT,MEDIANAME='MydbMedia';RESTORE DATABASE db FROM DISK='c:\2.bak' WITH RECOVERY,REPLACESELECT COUNT(*) FROM db.dbo.TRESTORE DATABASE db FROM DISK='c:\1.bak' WITH RECOVERY,REPLACESELECT COUNT(*) FROM db.dbo.TDROP DATABASE db;
GO
/// 备份数据库
/// </summary>
/// <param name="dbName"></param>
/// <param name="bakFile"></param>
/// <param name="bakSetName"></param>
/// <param name="bakDescription"></param>
/// <example>
/// <code>
/// SqlDmoHelper dmo = new SqlDmoHelper("(local)", "sa", "sa");
/// dmo.BackupDB("test", @"d:\temp\database\test.bak", "手动备份1", "备份说明...");
/// </code>
/// </example>
public void BackupDB(string dbName, string bakFile, string bakSetName, string bakDescription)
{
Backup oBackup = new BackupClass();
oBackup.Action = SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
oBackup.Database = dbName;
oBackup.Files = bakFile;
oBackup.BackupSetName = bakSetName;
oBackup.BackupSetDescription = bakDescription;
oBackup.Initialize = true;
oBackup.SQLBackup(sqlServer);
}