[备忘]删除SQL Server中无登录名的用户

 

这个问题通常会在还原虚拟主机的备份SQL文件后发生,原先在虚拟主机上的用户会被还原到本地,但是本地没有权限对其进行操作。

SELECT
N'ALTER AUTHORIZATION ON SCHEMA::'
+ QUOTENAME(SCH.name)
+ N' TO [dbo];',
*
FROM sys.schemas SCH WITH(NOLOCK)
INNER JOIN sys.database_principals DP WITH(NOLOCK)
ON DP.principal_id = SCH.principal_id
WHERE DP.type IN('S', 'G', 'U')
AND DP.name = N'USERNAME' -- 要删除的用户

 

执行之后,复制首行首列的内容执行,然后再管理器中直接删除对应用户。

你可能感兴趣的:(SQL Server)