Permiso VIEW DEFINITION

El permiso VIEW DEFINITION permite a un usuario ver los metadatos del asegurable en el que se concede el permiso. Sin embargo, el permiso VIEW DEFINITION no concede acceso al asegurable en sí. Por ejemplo, un usuario al que se le conceda únicamente el permiso VIEW DEFINITION para una tabla, podrá ver los metadatos relacionados con la tabla en la vista de catálogo sys.objects. En cambio, si no recibe permisos adicionales, como SELECT o CONTROL, no podrá leer los datos de la tabla. Para obtener más información acerca de cómo ver metadatos, vea GRANT (Transact-SQL).

El permiso VIEW DEFINITION se puede conceder en los siguientes niveles:

  • Ámbito del servidor

  • Ámbito de la base de datos

  • Ámbito del esquema

  • Entidades individuales

Ámbito del servidor

El permiso VIEW ANY DEFINITION concedido en este ámbito niega de forma efectiva el acceso a los metadatos basado en los permisos del receptor. Esto significa que el receptor puede ver todos los metadatos de la instancia de SQL Server a menos que se le denieguen los permisos VIEW DEFINITION o CONTROL en el ámbito de la base de datos, en el ámbito del esquema o para una entidad individual, por ejemplo una tabla. Si desea obtener información acerca de la sintaxis que debe utilizarse para el permiso en este ámbito, vea GRANT (Transact-SQL).

[!NOTA]

El nombre del permiso en el ámbito del servidor es VIEW ANY DEFINITION, pero cambia a VIEW DEFINITION para el resto de los ámbitos.

Ámbito de la base de datos

El permiso VIEW DEFINITION concedido en este ámbito niega de forma efectiva el acceso a los metadatos basado en los permisos del receptor para la base de datos especificada. Esto significa que el receptor puede ver todos los metadatos del contexto de la base de datos en el que se ejecuta la instrucción GRANT, a menos que se le denieguen los permisos VIEW DEFINITION o CONTROL en el ámbito del esquema o para una entidad individual, por ejemplo una tabla. Si desea obtener información acerca de la sintaxis que debe utilizarse para el permiso en este ámbito, vea GRANT (Transact-SQL).

Ámbito del esquema

El permiso VIEW DEFINITION concedido en este ámbito permite al receptor ver todos los metadatos de todos los objetos contenidos en el esquema especificado, a menos que se le denieguen los permisos VIEW DEFINITION o CONTROL para una entidad individual del esquema. Si desea obtener información acerca de la sintaxis que debe utilizarse para el permiso en este ámbito, vea GRANT (permisos de esquema de Transact-SQL).

Entidades individuales

El permiso VIEW DEFINITION concedido a entidades individuales permite que el receptor vea los metadatos de la entidad especificada. Si desea obtener información acerca de la sintaxis que debe utilizarse para este permiso para entidades individuales, vea GRANT (permisos de objeto de Transact-SQL).

El permiso VIEW DEFINITION puede concederse a un usuario de un elemento que puede protegerse, por ejemplo una tabla. Esto permite al usuario ver los metadatos de la tabla y los subcomponentes relacionados con ella, como los desencadenadores, las restricciones y los índices.