VIEW DEFINITION 权限

更新日期: 2006 年 4 月 14 日

使用 VIEW DEFINITION 权限,用户能够看到被授予权限的安全对象的元数据。但是,VIEW DEFINITION 权限不会授予对安全对象本身的访问权限。例如,仅被授予对表的 VIEW DEFINITION 权限的用户可以查看与 sys.objects 目录视图中的表有关的元数据。但是,如果没有 SELECT 或 CONTROL 之类的其他权限,用户无法从表中读取数据。有关查看元数据的详细信息,请参阅元数据可见性配置

可以在下列级别上授予 VIEW DEFINITION 权限:

  • 服务器作用域
  • 数据库作用域
  • 架构作用域
  • 单独实体

服务器作用域

在此作用域内授予的 VIEW ANY DEFINITION 权限,可有效地取消被授权者基于权限的元数据访问权限。这意味着被授权者可以查看 SQL Server 实例中的所有元数据,但在数据库作用域、架构作用域内或针对单独实体(例如表)拒绝被授权者的 VIEW DEFINITION 权限或 CONTROL 权限时除外。有关用于此作用域内该权限所使用语法的信息,请参阅 GRANT (Transact-SQL)

ms175808.note(zh-cn,SQL.90).gif注意:
在服务器作用域内,该权限名称为 VIEW ANY DEFINITION,但在其他作用域内,该权限名称为 VIEW DEFINITION。

数据库作用域

在此作用域内授予的 VIEW DEFINITION 权限可有效地取消指定数据库中被授权者基于权限的元数据访问权限。这意味着被授权者可以查看执行 GRANT 语句的数据库上下文中的所有元数据,除非在架构作用域内或针对单独实体(例如表)拒绝被授权者的 VIEW DEFINITION 或 CONTROL 权限。有关用于此作用域内该权限所使用语法的信息,请参阅 GRANT (Transact-SQL)

架构作用域

使用在此作用域内授予的 VIEW DEFINITION 权限,被授权者可以查看指定架构中包含的所有对象的所有元数据,除非拒绝被授权者对架构中单独实体的 VIEW DEFINITION 或 CONTROL 权限。有关在此作用域内该权限所使用语法的信息,请参阅 GRANT 架构权限 (Transact-SQL)

单独实体

使用针对单独实体授予的 VIEW DEFINITION 权限,被授权者可以查看指定实体的元数据。有关用于单独实体的此权限的语法的信息,请参阅 GRANT 对象权限 (Transact-SQL)

可以为安全对象(例如表)的用户授予 VIEW DEFINITION 权限。这使用户可以查看表的元数据以及与表相关的任何子组件,例如触发器、约束和索引。

请参阅

概念

元数据可见性配置
查看对象定义
VIEW ANY DATABASE 权限

其他资源

sys.objects (Transact-SQL)
GRANT (Transact-SQL)
DENY (Transact-SQL)

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

版本 历史记录

2006 年 4 月 14 日

更新内容:
  • 阐明了服务器作用域、数据库作用域和架构作用域等级别上的 VIEW DEFINITION 的含义。