USE master; GO DECLARE @SQL VARCHAR(MAX); SET @SQL=''SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) FROM master..sysprocesses WHERE dbid=DB_ID('数据库名称'); EXEC(@SQL); GO ALTER DATABASE 数据库名称 SET MULTI_USER
SQL Server 数据库限制单用户使用和解除单用户使用
一个在单用户(SINGLE_USER)模式下的数据库一次只能有一个连接。在限制用户(RESTRICTED_USER)模式下的数据库只能接受被认为是“合格”用户的连接——这些用户属于dbcreator或sysadmin服务器角色,或者是那个数据库的db_owner角色的成员。
数据库在默认时处于多用户模式(MULTIPLE_USER),这意味着所有具有一个数据库中有效用户名的用户都可以连接该数据库。
在数据库维护阶段时一般需要将数据库限制为单用户模式。可以使用下面的语句进行更改。设置为单用户模式,数据库会标志为【单个用户】
ALTER DATABASE 数据库名称 SET SINGLE_USER;
有时候在数据库还原时发生错误,也会将数据库设置为单用户模式,造成应用程序无法连接数据库,针对这种情况将用户访问模式更改为多多用户【MULTI_USER】即可恢复访问。
SQL server已经设置为单用户模式,Sql server还原失败数据库正在使用,无法获得对数据库的独占访问权
查询数据库的ID
Select * from master..sysdatabases where name = '工装管理'
根据数据库ID查询占用的spid
Select * from sys.sysprocesses a where a.dbid = '26'
kill spid(kill 146)
杀掉占用链接的用户
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/2754.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~