sqlserver新建数据库时报错无法获得数据库 ‘model‘ 上的排他锁 解决办法

今天在用sql脚本创建数据库时提示错误:无法获得数据库 ‘model’ 上的排他锁。请稍后重试该操作
由错误提示看出’model’模版数据库被其他进程占用了。
用查看系统进程语句查看model数据库被哪些进程占用了,找到进程id,然后用kill命令杀掉占用进程

–使用以下语句查出占用model数据库的进程id,然后使用kill命令 杀掉进程
–查看占用model数据库的进程,如果是2000,替换成master.dbo.sysprocesses
use master --选择数据库
go
select spid from master.sys.sysprocesses where dbid = db_id(‘model’);

–杀掉占用model数据库的进程
use master --选择数据库
go
declare @sql varchar(100)
while 1=1
begin
select top 1 @sql = 'kill '+cast(spid as varchar(3))
from master…sysprocesses where spid > 50 and spid <> @@spid and dbid = db_id(‘model’)
if @@rowcount = 0
break ;
print(@sql) --打印杀掉进程语句
exec(@sql) --执行杀掉进程语句
end
go

以上语句成功执行后,再执行先前的数据库创建脚本,数据库成功创建,问题解决.

本文来源: 原创自http://www.023shjy.com/learns/show/164.aspx,转载请注明原文出处

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值