SQL Server无法删除登录名’***’,因为该用户当前正处于登录状态解决方法
问题如下下图
SQLServer无法删除登录名的时候提示删除失败
报错信息如下
标题: Microsoft SQL Server Management Studio
------------------------------
登录名 "demo" 的 删除 失败。 (Microsoft.SqlServer.Smo)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=14.0.17289.0+((SSMS_Rel_17_4).181117-0805)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=删除+Login&LinkId=20476
------------------------------
其他信息:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
无法删除登录名 'demo',因为该用户当前正处于登录状态。 (Microsoft SQL Server,错误: 15434)
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=14.00.1000&EvtSrc=MSSQLServer&EvtID=15434&LinkId=20476
------------------------------按钮:确定------------------------------
解决方法:
这是因为这个登录名还有人正在使用登录的状态连接着
1.首先执行:exec sp_who 查出登录名对应的进程的spid
2.执行kill spid来杀掉进程
例如:查到loginname=demo
spid=59:就执行kill 59
3.最后执行:sp_drop login [用户名],或者直接mssql来删除
DROP LOGIN [demo]
GO
同时 数据服务器-安全性-登录名 demo 也会被删去 如果还显示 如下图,
可能是因为你没有刷新,刷新以后就没有了
SQL Server如何清除曾经登录过的登录名
我用的是SQL Server2017 数据库,在数据库登录界面,有时我们用户已经在安全性已经删除了,但是登录名痕迹还是存在,
那如何删除掉这些用户登录过的登录记录呢?
我本机是要删除这个登录名为demo的记录
1、先关闭Sql server2017
2、找到删除文件路径
首先找到你当前的系统登录用户,我是Administrator,原先默认安装到C盘,路径为
C:\Users\86135\AppData\Roaming\Microsoft\SQL Server Management Studio\14.0
3、删除SqlStudio.bin文件
4、重启sql server2017
其他版本可以参考以下网址:
http://www.studyofnet.com/news/1353.html
https://www.cnblogs.com/xielong/p/6694889.html