权限命名约定
下面介绍命名权限时遵循的一般约定:
CONTROL
为被授权者授予类似所有权的功能。 被授权者实际上对安全对象具有所定义的所有权限。 也可以为已被授予 CONTROL 权限的主体授予对安全对象的权限。 因为 SQL Server 安全模型是分层的,所以 CONTROL 权限在特定范围内隐含着对该范围内的所有安全对象的 CONTROL 权限。 例如,对数据库的 CONTROL 权限隐含着对数据库的所有权限、对数据库中所有组件的所有权限、对数据库中所有架构的所有权限以及对数据库的所有架构中的所有对象的权限。
更改
授予更改特定安全对象的属性(所有权除外)的权限。 当授予对某个范围的 ALTER 权限时,也授予更改、创建或删除该范围内包含的任何安全对象的权限。 例如,对架构的 ALTER 权限包括在该架构中创建、更改和删除对象的权限。
ALTER ANY <Server Securable>,其中 Server Securable 可为任何服务器安全对象。
授予创建、更改或删除“服务器安全对象” 的各个实例的权限。 例如,ALTER ANY LOGIN 将授予创建、更改或删除实例中的任何登录名的权限。
ALTER ANY <Database Securable>,其中 Database Securable 可为数据库级别的任何安全对象。
授予创建、更改或删除“数据库安全对象” 的各个实例的权限。 例如,ALTER ANY SCHEMA 将授予创建、更改或删除数据库中的任何架构的权限。
TAKE OWNERSHIP
允许被授权者获取所授予的安全对象的所有权。
IMPERSONATE <Login>
允许被授权者模拟该登录名。
IMPERSONATE <User>
允许被授权者模拟该用户。
CREATE <服务器安全对象>
授予被授权者创建“服务器安全对象” 的权限。
CREATE <数据库安全对象>
授予被授权者创建“数据库安全对象” 的权限。
CREATE <包含架构的安全对象>
授予创建包含在架构中的安全对象的权限。 但是,若要在特定架构中创建安全对象,必须对该架构具有 ALTER 权限。
VIEW DEFINITION
允许被授权者访问元数据。
REFERENCES
表的 REFERENCES 权限是创建引用该表的外键约束时所必需的。
对象的 REFERENCES 权限是使用引用该对象的
WITH SCHEMABINDING子句创建 FUNCTION 或 VIEW 时所必需的。




