Bri*_*egg 3 sql-server sql-server-2012
我在Sql Server 2012中创建了一个新用户,“偶然”将它们标记为多个架构的所有者。我本打算将它们标记为架构的成员,但我的标签不正确!
因为他们现在是架构的所有者,所以我不能取消选择所有权,也不能删除用户。我该如何消除我的错误?
dbo在删除用户之前,您必须将模式的所有权转移给其他用户(可能是):
为了对此进行测试,我做了以下工作:
创建一个用户以拥有该架构和一个测试架构:
USE tempdb;
CREATE USER [testuser] WITHOUT LOGIN;
GO
CREATE SCHEMA [max] AUTHORIZATION testuser;
GO
Run Code Online (Sandbox Code Playgroud)
尝试删除用户,这将失败:
DROP USER [testuser];
GO
Run Code Online (Sandbox Code Playgroud)
消息15138,第16级,状态1,第1行
数据库主体在数据库中拥有一个架构,不能删除。
将模式的所有权转移给dbo拥有数据库的其他用户(在本例中为特殊用户):
ALTER AUTHORIZATION ON SCHEMA::[max] TO dbo;
GO
Run Code Online (Sandbox Code Playgroud)
现在,删除测试用户,该用户可以使用:
DROP USER [testuser];
Run Code Online (Sandbox Code Playgroud)