无法获得数据库 'model' 上的排他锁。CREATE DATABASE失败。错误: 1807。

本文介绍了一种在SQL Server中创建数据库时遇到的异常情况及其解决方案。主要问题是由于残留的进程导致无法获得数据库'model'上的排他锁,通过使用特定的Transact-SQL语句来杀死这些残留进程,可以成功创建数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在新建数据库时,报错,内容如下:

执行 Transact-SQL 语句或批处理时发生了异常。
 (Microsoft.SqlServer.ConnectionInfo) ------------------------------ 
 无法获得数据库 'model' 上的排他锁。请稍后重试该操作。CREATE DATABASE 失败。
 无法创建列出的某些文件名。请查看相关错误。 
 (Microsoft SQL Server,错误: 1807)

解决方法:

declare   @sql   varchar(240)         
while   1=1     
begin         
select   top   1   @sql   =   'kill   '+cast(spid   as   varchar(20))     from     master..sysprocesses         
where   spid   >   50   and   spid   <>   @@spid          
if   @@rowcount   =   0        
break         
exec(@sql)    
end  

原因在于创建数据库后删除失败的残留所致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值