SQL Server 2005数据库角色拥有架构时需要什么架构权限?

时间:2011-04-12 14:15:34

标签: sql database sql-server-2005

在SQL Server 2005中,用户定义的数据库角色可以“拥有”架构。您可以在数据库角色的属性窗口中看到这一点。 完全对于该模式中的表的权限/特权意味着什么?拥有架构意味着什么?

或者,问另一种方式:如果我希望特定的用户定义的数据库角色对模式中的每个表具有select / insert / update / delete权限,那么实现此目的的最佳/最聪明的方法是什么?

我可以进入架构中每个表的权限并授予角色权限,但这看起来很愚蠢。我如何为整个架构做到这一点?

感谢 AJ

2 个答案:

答案 0 :(得分:2)

“拥有”意味着“拥有完全访问权”或“可以做任何事情。”

如果这是您想要的,只需将该组作为架构所有者。

否则,为此组授予架构范围的权限。您可以为架构授予select权限,并且该组的成员将能够从架构中的所有表中进行选择,依此类推。

有关详细信息,请参阅GRANT Schema Permissions

答案 1 :(得分:0)

MSDN文档:db_owner

使它们成为特定数据库的db_owner组的成员基本上可以满足您的需求 - 当然它们还有一些额外的权限 - 例如删除数据库。

您可以创建新的用户组/架构,当然您指出需要设置适当的权限:SQL Server 2005 Permissions