SQL Server 2008 - 删除架构所有权

时间:2011-03-04 20:25:38

标签: sql-server schema

我刚创建了一个新的Web应用程序,它接受来自用户的一些基于表单的输入并将其插入到数据库中。为此,我在数据库中创建了一个新用户,并最初将用户分配给两个角色和模式...

db_datareader
db_datawriter

在考虑过后,我意识到用户不需要成为db_datareader角色的一部分,因为用户只将数据插入数据库而从不读取任何内容。所以我回去删除db_datareader的角色,发现架构选项显示为灰色。我无法将用户从db_datareader的架构所有权中删除。

如何将用户从特定架构的所有权中删除?我是否应该首先分配架构所有权?

我以SQL Server和Windows 7操作系统的管理员身份登录。

2 个答案:

答案 0 :(得分:11)

我今天遇到了同样的问题,并找到了一种方法来删除用户作为架构的所有者。在数据库中的Security下面打开Schema节点,并更改您错误地使用默认所有者的用户的所有者。例如,如果某个古怪的用户名被列为db_datareader的模式所有者,请将其更改为db_reader,依此类推。

答案 1 :(得分:5)

不,您不应该为用户分配架构的所有权。您应该让用户成为架构的成员。将所有权还原为dbo并检查用户帐户是否仍不是架构的成员。