C#代码实现SQL SERVER数据备份和恢复的问题~~
代码:
private void button2_Click(object sender, System.EventArgs e)
{
try
{
SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
oSQLServer.LoginSecure = false;
oSQLServer.Connect("localhost", "xinhui", "xinhui");
oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
oBackup.Database = "bozhao";
oBackup.Files = @"d:\\bozhao.bak";
oBackup.BackupSetName = "bozhao";
oBackup.BackupSetDescription = "数据库备份";
oBackup.Initialize = true;
oBackup.SQLBackup(oSQLServer);
}
catch
{
throw;
}
}
private void button3_Click(object sender, System.EventArgs e)
{
try
{
SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
oSQLServer.LoginSecure = false;
oSQLServer.Connect("localhost", "xinhui", "xinhui");
oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
oRestore.Database = "bozhao";
oRestore.Files = @"d:\\bozhao.bak";
oRestore.FileNumber = 1;
oRestore.ReplaceDatabase = true;
oRestore.SQLRestore(oSQLServer);
}
catch
{
throw;
}
}
备份没问题,但恢复时报错:
1.数据库正在使用,未能获得对数据库的排它访问权
2.没有对此数据库的Restore权限