sqlserver⽆法⽤排他锁锁定该数据库,以执⾏该操作。
(MicrosoftSQLSer。。。
原因是因为其他的线程占⽤这SqlServer的连接可通过SQL查看
select spid
from master.dbo.sysprocesses       where dbid=db_id('databaseName')
采⽤SQL杀死占⽤⽅
kill spid
记得在执⾏这个命令的时候切换为别的数据库,要不然本⾝会占⽤⼀个连接,还杀不掉
如果杀掉后,不停的⽣成新的SPID,就把线上可能⽤到这个数据库的账户权限暂时取消掉,这样就可以避免线上的环境再连接到这个数据库
使⽤下⾯命令重命名
use mastergo
exec sp_renamedb @dbname='KCMainDB', @newname='KCMainDB-test';go