我在 Sql Server 2012 中创建了一个新用户,并且“意外地”将他们标记为多个架构的所有者。我本想将它们标记为架构的成员,但我在错误的选项卡上!
因为他们现在是架构的所有者,所以我无法取消选择所有权,也无法删除用户。我怎样才能挽回我的错误?
您必须将模式的所有权转移给其他用户,可能是dbo
,在删除用户之前:
为了测试这一点,我做了以下操作:
创建一个用户来拥有该架构和一个测试架构:
USE tempdb;
CREATE USER [testuser] WITHOUT LOGIN;
GO
CREATE SCHEMA [max] AUTHORIZATION testuser;
GO
尝试删除用户,这会失败:
DROP USER [testuser];
GO
消息 15138,16 级,状态 1,第 1 行
数据库主体拥有数据库中的架构,并且无法删除。
将模式的所有权转移给其他用户,在本例中为特殊用户,dbo
,拥有数据库:
ALTER AUTHORIZATION ON SCHEMA::[max] TO dbo;
GO
现在,删除测试用户,这样就可以了:
DROP USER [testuser];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)