GRANT (permisos de entidad de seguridad de servidor de Transact-SQL)
Concede permisos en un inicio de sesión de SQL Server.
Sintaxis
GRANT permission [ ,...n ] }
ON LOGIN :: SQL_Server_login
TO <server_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
Argumentos
permission
Especifica un permiso que puede concederse en un inicio de sesión de SQL Server. Para obtener una lista de permisos, vea la sección Notas más adelante en este tema.LOGIN :: SQL_Server_login
Especifica el inicio de sesión de SQL Server en el que se va a conceder el permiso. Se requiere el calificador de ámbito (::).TO <server_principal>
Especifica el inicio de sesión de SQL Server para el que se va a conceder el permiso.SQL_Server_login
Especifica el nombre de un inicio de sesión de SQL Server.SQL_Server_login_from_Windows_login
Especifica el nombre de un inicio de sesión de SQL Server creado desde un inicio de sesión de Windows.SQL_Server_login_from_certificate
Especifica el nombre de un inicio de sesión de SQL Server asignado a un certificado.SQL_Server_login_from_AsymKey
Especifica el nombre de un inicio de sesión de SQL Server asignado a una clave asimétrica.WITH GRANT OPTION
Indica que la entidad de seguridad también podrá conceder el permiso especificado a otras entidades de seguridad.AS SQL_Server_login
Especifica el inicio de sesión de SQL Server del que la entidad de seguridad que ejecuta esta consulta deriva su derecho de conceder el permiso.
Notas
Los permisos del ámbito del servidor sólo pueden concederse si la base de datos actual es master.
Puede ver la información acerca de los permisos de servidor en la vista de catálogo sys.server_permissions. Puede ver la información acerca de las entidades de seguridad de servidor en la vista de catálogo sys.server_principals.
Un inicio de sesión de SQL Server es un elemento que puede protegerse en el nivel de servidor. La mayoría de permisos limitados y específicos que se pueden conceder en un inicio de sesión de SQL Server se muestran en la siguiente tabla, junto con permisos más generales que los incluyen por implicación.
Permiso de inicio de sesión de SQL Server |
Implicado por el permiso de inicio de sesión de SQL Server |
Implicado por el permiso de servidor |
---|---|---|
CONTROL |
CONTROL |
CONTROL SERVER |
IMPERSONATE |
CONTROL |
CONTROL SERVER |
VIEW DEFINITION |
CONTROL |
VIEW ANY DEFINITION |
ALTER |
CONTROL |
ALTER ANY LOGIN |
Permisos
Requiere el permiso CONTROL en el inicio de sesión o el permiso ALTER ANY LOGIN en el servidor.
Ejemplos
A. Conceder el permiso IMPERSONATE en un inicio de sesión
En el siguiente ejemplo se concede el permiso IMPERSONATE en el inicio de sesión WanidaBenshoof de SQL Server para un inicio de sesión de SQL Server creado desde el usuario de Windows AdvWorks\YoonM.
USE master;
GRANT IMPERSONATE ON LOGIN::WanidaBenshoof to [AdvWorks\YoonM];
GO
B. Conceder el permiso VIEW DEFINITION con GRANT OPTION
En el siguiente ejemplo se concede VIEW DEFINITION en el inicio de sesión EricKurjan de SQL Server para el inicio de sesión de RMeyyappan de SQL Server con GRANT OPTION.
USE master;
GRANT VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan
WITH GRANT OPTION;
GO