还原数据库的问题?

PCXGG 2005-05-10 10:56:24
我做一数据库的备份、还原的程序,用的是sql-dmo.现在备份没有问题。
还原的时候一直出现“[Microsoft][ODBC SQL Server Driver][SQL Server]因为数据库正在使用,所以未能获得对数据库的排它访问权。 [Microsoft][ODBC SQL Server Driver][SQL Server]RESTORE DATABASE 操作异常终止。”的错误。
怎样才能主动切断和数据库的所有连接,使还原能进行下去?
...全文
101 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunbiao36 2005-05-11
  • 打赏
  • 举报
回复
查看一下使用的计算机资源,或者用楼上的方法;
最笨的方法是注销或重新启动计算机!
PCXGG 2005-05-10
  • 打赏
  • 举报
回复
to : zlp321002(职业-->烧人民币)
具体应该怎么做呢?能否详细解释一下。感激...
zlp321002 2005-05-10
  • 打赏
  • 举报
回复
--检查程序,是否还在连接数据库,是否资源没有释放
--是否有人使用数据库
zlp321002 2005-05-10
  • 打赏
  • 举报
回复
--断开指定库的所有用户连接(在master数据库中进行)
--邹建的!
use master
go

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_KillSpid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_KillSpid]
GO

create proc sp_KillSpid
@dbname sysname --要断开连接的数据库名
as
declare @s nvarchar(1000)
declare tb cursor local
for
select N'kill '+cast(spid as varchar)
from master..sysprocesses
where dbid=db_id(@dbname)

open tb
fetch next from tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch next from tb into @s
end
close tb
deallocate tb
go

--调用
exec sp_KillSpid 'aa'

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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