2009-11-11 33 views

回答

8

角色将是去这里的路。无论用户使用何种模式,只要您拥有需要特定用户权限的组(无论您的情况如何),就应该使用角色,这样可以防止错误,并使数据库管理员的工作更加轻松。

将角色看作用户的分组以及该用户组的相关权限,而模式则用于数据集合的逻辑分组。

编辑根据用户评论:

你可以,但要限制访问使用模式的特定表是也许不是去想它的最佳方式。模式用于分组数据。因此,您可能有销售团队需要的具有表格,程序等的“销售”模式。然后,您可以说GRANT SELECT ON SCHEMA::sales TO salesRole;您正在使用模式的位置,作为向每个销售人员授予salesRole角色的用户组授予权限的快捷方式。任何稍后在销售模式中创建的表格都可由具有该角色的用户选择。如果销售团队仅使用此角色并且没有其他权限,则在另一个架构中创建的表将不会被这些用户使用。如果这就是“限制使用模式访问”的意思,那么是的,但我更愿意将其视为用户没有通过角色或显式授权授予的权限。希望这有助于澄清。

+0

明白了你的意思,谢谢。我是否可以通过使用Schema来限制某些用户访问任何特定表格? – 2009-11-12 07:24:56

0

您可以使用两者的组合。使用模式来分离逻辑上可以组合在一起的对象。使用角色创建不同的访问配置,并将架构上的访问授予您已创建的角色(根据您的业务逻辑)。

相关问题