SQLServer删除用户和角色提示无法删除

1.删除用户时,提示“数据库主体在该数据库中拥有架构,无法删除”

参考地址:
解决SQL Server删除用户的时候显示用户拥有架构Schema无法删除的错误

-- 查询到test2用户拥有的Schema:
DECLARE @userName NVARCHAR(MAX) = 'test2';
SELECT s.name
FROM sys.schemas s
WHERE s.principal_id= USER_ID(@userName);

-- 将test2用户所有Schema的设定设置成默认的
ALTER AUTHORIZATION ON SCHEMA::db_owner TO db_owner;
ALTER AUTHORIZATION ON SCHEMA::db_datareader TO db_datareader;
-- 删除test2用户
DROP USER test2;

2. 删除角色时,提示:“数据库主体拥有数据库角色,无法删除”

-- 把角色seetable拥有者设置成dbo
ALTER AUTHORIZATION ON ROLE::seetable TO dbo;
-- 删除角色seetable
DROP ROLE seetable;

3.删除用户时,提示:“因为该用户当前正处于登录状态,无法删除”

-- 查出登录名对应的进程的spid
exec sp_who
-- 杀掉进程
kill 88

你可能感兴趣的:(SQLServer,sqlserver,数据库)