无法detach掉的数据库

fately 2003-11-11 09:35:52
sql server2000
在数据库中由于log文件过大,想要执行detach该数据库,但是由于有人连接该数据库,在clear之后,点ok提示错误3701
error3701,can not detach the database because is currently in used
可是应该已经没有人在使用了,请各位大虾指教!!!!
...全文
181 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmlxf 2003-11-11
  • 打赏
  • 举报
回复
大力的:
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

--exec killspid @dbname
pengdali 2003-11-11
  • 打赏
  • 举报
回复
截断日志:
backup log 数据库 with no_log

企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
pengdali 2003-11-11
  • 打赏
  • 举报
回复
清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
welyngj 2003-11-11
  • 打赏
  • 举报
回复
重启sqlserver服务

11,849

社区成员

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

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