SQLServer无法删除登录名'***',因为该用户当前正处于登录状态解决方法

时间:2023-12-10 21:32:44

问题描述:

SQLserver在删除登录名的时候提示删除失败

SQLServer无法删除登录名'***',因为该用户当前正处于登录状态解决方法

标题: Microsoft SQL Server Management Studio
------------------------------ 删除 对于 登录“******”失败。 (Microsoft.SqlServer.Smo) 有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.6020.0+((SQL11_PCU_Main).151020-1526+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=删除+Login&LinkId=20476 ------------------------------
其他信息: 执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo) ------------------------------ 无法删除登录名 '******',因为该用户当前正处于登录状态。 (Microsoft SQL Server,错误: ) 有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=11.00.6020&EvtSrc=MSSQLServer&EvtID=15434&LinkId=20476 ------------------------------ 按钮: 确定 ------------------------------

解决方法:

这是因为这个登录名还有人正在使用登录的状态连接着

1.首先执行:EXEC sp_who 查出登录名对应的进程的spid

SQLServer无法删除登录名'***',因为该用户当前正处于登录状态解决方法

2.执行kill spid来杀掉进程

SQLServer无法删除登录名'***',因为该用户当前正处于登录状态解决方法

例如:查到loginname=dbtest

spid=10:就执行kill 10

3.最后执行:sp_drop login [用户名],或者直接mssql来删除

USE [master]
DROP LOGIN [dbtest]
GO

SQLServer无法删除登录名'***',因为该用户当前正处于登录状态解决方法