关于SQL Server还原恢复的问题

fanfyj 2003-07-07 08:38:48
在SQL Server中,备份后,恢复数据之前,必须检查是否有别的人也在使用你正想恢复还原的数据库,否则的话就无法顺利进行还原工作.
问:怎样检查是否有别的人也在使用你正想恢复还原的数据库?
若此时有人也在连接使用,能否在SQL Server中强行将这些连接断开?怎么办?
...全文
48 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fanfyj 2003-08-10
  • 打赏
  • 举报
回复
谢谢大力!!!结帖
gmlxf 2003-08-08
  • 打赏
  • 举报
回复
大力真强。。
学习中
pengdali 2003-08-08
  • 打赏
  • 举报
回复
create proc killspid (@dbname varchar(20))
as
begin
declare @sql nvarchar(500)
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
declare @a varchar(100)
while @@fetch_status < >-1
begin
set @a='kill '+rtrim(@spid)
exec(@a)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end

--用法
use master
exec killspid '数据库名'
fanfyj 2003-07-10
  • 打赏
  • 举报
回复
大力,我照你的方法试过了.报错"rtrim附近有语法错误"
查连机文档,RTRIM ( character_expression ),
character_expression由字符数据组成的表达式。可以是常量、变量,也可以是字符或二进制数据的列.

不知错在哪里?
jiutiao 2003-07-07
  • 打赏
  • 举报
回复
study
pengdali 2003-07-07
  • 打赏
  • 举报
回复
create proc killspid (@dbname varchar(20))
as
begin
declare @sql nvarchar(500)
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
exec('kill '+rtrim(@spid))
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end

--用法
use master
exec killspid '数据库名'

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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