GRANT (Transact-SQL)
Actualizado: 12 de diciembre de 2006
Concede permisos en un asegurable a una entidad de seguridad.
Sintaxis
Simplified syntax for GRANT
GRANT { ALL [ PRIVILEGES ] }
| permission [ ( column [ ,...n ] ) ] [ ,...n ]
[ ON [ class :: ] securable ] TO principal [ ,...n ]
[ WITH GRANT OPTION ] [ AS principal ]
Argumentos
ALL
Esta opción ya no se utiliza y sólo se mantiene por razones de compatibilidad con versiones anteriores. No concede todos los permisos posibles. Conceder ALL es equivalente a conceder los siguientes permisos.- Si el asegurable es una base de datos, "ALL" significa BACKUP DATABASE, BACKUP LOG, CREATE DATABASE, CREATE DEFAULT, CREATE FUNCTION, CREATE PROCEDURE, CREATE RULE, CREATE TABLE y CREATE VIEW.
- Si el asegurable es una función escalar, "ALL" significa EXECUTE y REFERENCES.
- Si el elemento asegurable es una función con valores de tabla, "ALL" se refiere a DELETE, INSERT, REFERENCES, SELECT y UPDATE.
- Si el asegurable es un procedimiento almacenado, "ALL" significa EXECUTE.
- Si el asegurable es una tabla, "ALL" significa DELETE, INSERT, REFERENCES, SELECT y UPDATE.
- Si el asegurable es una vista, "ALL" significa DELETE, INSERT, REFERENCES, SELECT y UPDATE.
- PRIVILEGES
Incluido por compatibilidad con SQL-92. No cambia el comportamiento de ALL.
- permission
Nombre de un permiso. Las asignaciones de permisos válidas a asegurables se describen en los subtemas que se muestran a continuación.
- column
Especifica el nombre de una columna de una tabla en la que se van a conceder los permisos. Es preciso utilizar los paréntesis "()".
- class
Especifica la clase del asegurable en el que se va a conceder el permiso. Es preciso usar el calificador de ámbito "::".
- securable
Especifica el asegurable en el que se va a conceder el permiso.
- TO principal
Nombre de una entidad de seguridad. Las entidades de seguridad a las que se pueden conceder permisos en un asegurable varían según el asegurable. Vea los subtemas enumerados a continuación para comprobar las combinaciones válidas.
- GRANT OPTION
Indica que el receptor también podrá conceder el permiso especificado a otras entidades de seguridad.
- AS principal
Especifica una entidad de seguridad de la que la entidad de seguridad que ejecuta esta consulta deriva su derecho de conceder el permiso.
Notas
La sintaxis completa de la instrucción GRANT es compleja. El anterior diagrama de sintaxis se ha simplificado para concentrar la atención en su estructura. La sintaxis completa para conceder permisos en asegurables específicos se describe en los temas enumerados a continuación.
Se puede utilizar la instrucción REVOKE para retirar permisos concedidos y la instrucción DENY para evitar que una entidad de seguridad obtenga un permiso específico mediante una instrucción GRANT.
La concesión de un permiso elimina DENY o REVOKE de ese permiso en el asegurable especificado. Si se deniega el mismo permiso en un ámbito superior que contiene el asegurable, DENY tiene prioridad. No obstante, revocar el permiso concedido en un ámbito superior no tiene prioridad.
Los permisos en nivel de base de datos se conceden en el ámbito de la base de datos especificada. Si un usuario necesita permisos para objetos de otra base de datos, cree la cuenta del usuario en la otra base de datos o conceda a la cuenta del usuario acceso a la otra base de datos y a la base de datos actual.
Advertencia: |
---|
En SQL Server 2005, DENY de tabla no tiene prioridad sobre GRANT de columna. Esta incoherencia en la jerarquía de permisos se ha mantenido por motivos de compatibilidad con versiones anteriores. Se eliminará en una versión futura. |
El procedimiento almacenado del sistema sp_helprotect informa de los permisos sobre un asegurable en el nivel de base de datos.
Permisos
El otorgante de permisos (o la entidad de seguridad especificada con la opción AS) debe tener el permiso con GRANT OPTION, o un permiso superior que implique el permiso que se va a conceder. Si se utiliza la opción AS, se aplican requisitos adicionales. Para obtener más detalles vea el tema específico de los asegurables.
Los propietarios de objetos pueden conceder permisos en los objetos que poseen. Las entidades de seguridad con el permiso CONTROL en un asegurable pueden conceder permisos en ese asegurable.
Los receptores del permiso CONTROL SERVER, como los miembros de la función fija de servidor sysadmin, pueden conceder los permisos en cualquier asegurable en el servidor. Los receptores del permiso CONTROL en una base de datos, como los miembros de la función fija de base de datos db_owner, pueden conceder los permisos en cualquier asegurable en la base de datos. Los receptores del permiso CONTROL en un esquema pueden conceder los permisos en cualquier objeto del esquema.
Ejemplos
Para conocer la sintaxis específica de los asegurables vea los siguientes temas.
Función de aplicación |
GRANT (permisos de entidad de seguridad de base de datos de Transact-SQL) |
Ensamblado |
|
Clave asimétrica |
|
Certificado |
|
Contrato |
|
Base de datos |
|
Extremo |
|
Catálogo de texto |
|
Función |
|
Inicio de sesión |
GRANT (permisos de entidad de seguridad de servidor de Transact-SQL) |
Tipo de mensaje |
|
Objeto |
|
Cola |
|
Enlace de servicio remoto |
|
Función |
GRANT (permisos de entidad de seguridad de base de datos de Transact-SQL) |
Ruta |
|
Esquema |
|
Servidor |
|
Servicio |
|
Procedimiento almacenado |
|
Clave simétrica |
|
Sinónimo |
|
Objetos de sistema |
|
Tabla |
|
Tipo |
|
Usuario |
GRANT (permisos de entidad de seguridad de base de datos de Transact-SQL) |
Vista |
|
Colección de esquemas XML |
GRANT (permisos de colección de esquemas XML de Transact-SQL) |
Vea también
Referencia
DENY (Transact-SQL)
REVOKE (Transact-SQL)
sp_addgroup (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_adduser (Transact-SQL)
sp_changegroup (Transact-SQL)
sp_changedbowner (Transact-SQL)
sp_dropgroup (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helpgroup (Transact-SQL)
sp_helprotect (Transact-SQL)
sp_helpuser (Transact-SQL)
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
12 de diciembre de 2006 |
|