数据库恢复????

cjzlxy 2004-10-29 03:22:26
/// <summary>
/// 数据库恢复
/// </summary>
public static void DbRestore()
{
SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
try
{
oSQLServer.LoginSecure = false;
oSQLServer.Connect("localhost", "sa", "1234");
oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
oRestore.Database = "Northwind";
oRestore.Files = @"d:\Northwind.bak";
oRestore.FileNumber = 1;
oRestore.ReplaceDatabase = true;
oRestore.SQLRestore(oSQLServer);
}
catch
{
throw;
}
finally
{
oSQLServer.DisConnect();
}

************************
返回信息:
[Microsoft][ODBC SQL Server Driver][SQL Server]因为数据库正在使用,所以未能获得对数据库的排它访问权。 [Microsoft][ODBC SQL Server Driver][SQL Server]RESTORE DATABASE 操作异常终止。

怎么解决??????????/
...全文
91 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjzlxy 2004-10-29
  • 打赏
  • 举报
回复
问题我自己解决了.谢谢各位帮助.马上揭帖,顺便吧答案贴出来.
1.首先建立存储过程(杀死访问数据库的进程)
CREATE PROCEDURE killspid @dbname varchar(20)
as
begin
declare @sql nvarchar(500),@temp varchar(1000)
declare @spid int
set @sql='declare getspid cursor for
select spid from master..sysprocesses where dbid=db_id('''+@dbname+''')'
exec (@sql)
open getspid
fetch next from getspid into @spid
while @@fetch_status <> -1
begin
set @temp='kill '+rtrim(@spid)
exec(@temp)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end
GO
2.执行此存储过程
3.恢复数据库(上面的代码)
ok.
cjzlxy 2004-10-29
  • 打赏
  • 举报
回复
自己up
cjzlxy 2004-10-29
  • 打赏
  • 举报
回复
各位老大,能不能来点实际的,理论上我知道怎么弄,现在遇到的问题是怎么样锁定数据库,杀死所有访问数据库的进程?
reddg 2004-10-29
  • 打赏
  • 举报
回复
用DMO重启sql server服务
cjzlxy 2004-10-29
  • 打赏
  • 举报
回复
To:xiaohutushen(xiaohutushen)
怎么锁定数据库?
cjzlxy 2004-10-29
  • 打赏
  • 举报
回复
这么写对吗?
"data source=localhost;database=master;user id=sa;password=123456"
xiaohutushen 2004-10-29
  • 打赏
  • 举报
回复
你恢复的时间要确保只有你一个人用数据库啊。
先锁定数据库。在恢复
帮忙UP
cjzlxy 2004-10-29
  • 打赏
  • 举报
回复
To: 楼上:
"链接字符串修改为链接系统数据库
不要链接你要恢复的数据库"

具体怎么写?
standy 2004-10-29
  • 打赏
  • 举报
回复
链接字符串修改为链接系统数据库
不要链接你要恢复的数据库

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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