C#代码实现SQL SERVER数据备份和恢复的问题~~

zouge139 2004-11-07 03:03:47
代码:
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权限
...全文
232 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
LangHua888 2005-04-13
  • 打赏
  • 举报
回复
oSQLServer.DisConnect();
你的数据库没有断开吗
当然是正在使用
Anhowe 2004-11-17
  • 打赏
  • 举报
回复
有一个问题,就是备份远程数据库时,生成的备份文件在远程服务器上,如何客户端备份得到远程数据库的备份文件“*.bak"???
急急!!!

谢谢!!!

麻烦清楚的发份资料到anhowe@126.com好吗,谢谢!!!
cdo 2004-11-07
  • 打赏
  • 举报
回复
又學到一招:)
paul8765 2004-11-07
  • 打赏
  • 举报
回复
把数据库命令写到sqlcommand的text里,然后执行sqlcommand就行了。
zouge139 2004-11-07
  • 打赏
  • 举报
回复
恢复时将数据库设为单用户模式
EXEC sp_dboption @dbname = 'databasename', @optname = 'single user', @optvalue = false"

怎么在代码里设置?
cnhgj 2004-11-07
  • 打赏
  • 举报
回复
恢复时将数据库设为单用户模式
EXEC sp_dboption @dbname = 'databasename', @optname = 'single user', @optvalue = false"

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧