关于数据库还原,大家帮忙,多谢!

zhangzs8896 2003-08-26 01:17:39
查询分析器里运行如下:
restore database portal from disk='portal' with norecovery

出现错误消息:
服务器: 消息 3101,级别 16,状态 2,行 1
因为数据库正在使用,所以未能获得对数据库的排它访问权。
服务器: 消息 3013,级别 16,状态 1,行 1
RESTORE DATABASE 操作异常终止。

应如何解决?
...全文
42 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangzs8896 2003-08-26
  • 打赏
  • 举报
回复
解决了,给分
songfupeng 2003-08-26
  • 打赏
  • 举报
回复
你是否打开两个企业管理器管理两个数据库,关掉一个不就行了。
如果还不行,你去“当前进程”看一下是否有人用当前数据库,
如果有,就kill掉他。
pengdali 2003-08-26
  • 打赏
  • 举报
回复
use master
go
create proc 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 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

--用法
use master
exec killspid '数据库名'
zarge 2003-08-26
  • 打赏
  • 举报
回复
use master

exec sp_dboption 'portal', 'dbo use only', 'true'

declare @spid int
declare @esql varchar(32)
declare spidcur cursor for
select spid from sysprocesses where dbid = db_id('portal')
open spidcur
while 1=1
begin
FETCH NEXT FROM spidcur INTO @spid
if @@FETCH_STATUS <> 0 break

select @esql = 'KILL ' + Cast(@spid as char)
EXEC ( @esql )
end
close spidcur
deallocate spidcur
zhangzs8896 2003-08-26
  • 打赏
  • 举报
回复
<add key="ConnectionString" value="server=localhost;Trusted_Connection=true;database=Portal" />
我把这个断掉也不行。

因为数据库正在使用,所以未能获得对数据库的排它访问权。
---->如何设置数据库的访问权限,也就是可以多人访问?
highman 2003-08-26
  • 打赏
  • 举报
回复
是你自己连接着数据库,断开同portal的连接
zhangzs8896 2003-08-26
  • 打赏
  • 举报
回复
除了我自己没有人连接我的数据库,没人知道,我刚用
restore database portal from disk='portal'
加的这个数据库,数据库文件是从别的机器里备过来的
但是我想服务器上的这个数据库更新了,所以我备了一个,就想
restore database portal from disk='portal' with norecovery
这样追加,怎么就不行呢?
zhangzs8896 2003-08-26
  • 打赏
  • 举报
回复
楼上高手:
use master
restore database portal from disk='portal' with norecovery

这样还是出现刚才的错误提示!
CrazyFor 2003-08-26
  • 打赏
  • 举报
回复
sp_who看谁连接了你的库,让他们取消连接,你再恢复.
zarge 2003-08-26
  • 打赏
  • 举报
回复
确保没有用户正在使用改数据库

use master
go

restore database portal from disk='portal' with norecovery
go
pengdali 2003-08-26
  • 打赏
  • 举报
回复
use master
restore database portal from disk='portal' with norecovery

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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