SQL Server - 授予模式所有者创建表的权限

3
使用 SQL Server 2014 Express。我对 SQL Server 比较陌生 (更熟悉 Oracle)。我已经定义了一个模式,并定义了一个用户作为模式所有者。我无法找到一种方法,在不授予 db_owner 角色的情况下允许用户在模式中创建表。
这对我的数据库不起作用,因为将有多个模式。使用此数据库级别角色 (即 db_owner),用户 (模式所有者) 可以在任何模式中创建表。
我的目标是让模式所有者用户能够登录到数据库并创建表和管理模式,但仅限于他们自己的模式。
有人能帮我吗?我感到相当沮丧。
提前感谢您。

重复?http://serverfault.com/questions/252808/with-sql-server-2008-can-you-grant-create-table-permission-within-a-schema - sam yi
从文档中:https://msdn.microsoft.com/zh-cn/library/ms187940.aspx - namezero
谢谢你的提示,但是第一个重复的方法在2014年不起作用,而且MS文档中也没有将create table作为模式权限分配的参考。 - Glen Herman
1个回答

5
经过大量的研究,我终于找到了自己问题的答案:
“创建表”只是数据库级别的权限,无法在模式级别分配。
用户可以被定义为模式所有者。如果用户在数据库级别拥有“创建表”权限并且是模式所有者,则所有表都将在他/她拥有的模式中创建。
用户无法看到其他模式,除非由模式所有者(或具有更高级别权限的人)在模式级别上授予“选择”权限。如果用户在数据库级别拥有“选择”权限,则会看到所有模式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接