GRANT (permisos de extremo de Transact-SQL)

Se aplica a:SQL Server

Concede permisos para un extremo.

Convenciones de sintaxis de Transact-SQL

Sintaxis

GRANT permission  [ ,...n ] ON ENDPOINT :: endpoint_name  
        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  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

permission
Especifica un permiso que se puede conceder para un extremo. Para obtener una lista de permisos, vea la sección Comentarios que se muestra posteriormente en este tema.

ON ENDPOINT ::endpoint_name
Especifica el extremo en el que se va a conceder el permiso. El calificador de ámbito ( :: ) es obligatorio.

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.

Observaciones

Los permisos del ámbito del servidor solo pueden concederse si la base de datos actual es master.

Puede ver la información sobre los extremos en la vista de catálogo sys.endpoints. La información sobre los permisos del servidor está disponible en la vista de catálogo sys.server_permissions, mientras que la información sobre las entidades de seguridad de servidor puede verse en la vista de catálogo sys.server_principals.

Un extremo es un elemento protegible de nivel de servidor. La mayoría de permisos limitados y específicos que se pueden conceder para un extremo se muestran en la siguiente tabla, junto con permisos más generales que los incluyen por implicación.

Permiso de extremo Implicado por el permiso de extremo Implícito en el permiso de servidor
ALTER CONTROL ALTER ANY ENDPOINT
CONNECT CONTROL CONTROL SERVER
CONTROL CONTROL CONTROL SERVER
TAKE OWNERSHIP CONTROL CONTROL SERVER
VIEW DEFINITION CONTROL VIEW ANY DEFINITION

Permisos

Requiere el permiso CONTROL en el extremo o el permiso ALTER ANY ENDPOINT en el servidor.

Ejemplos

A. Conceder el permiso VIEW DEFINITION para un extremo

En el siguiente ejemplo se concede el permiso VIEW DEFINITION para el extremo Mirror7 al inicio de sesión ZArifin de SQL Server.

USE master;  
GRANT VIEW DEFINITION ON ENDPOINT::Mirror7 TO ZArifin;  
GO  

B. Conceder el permiso TAKE OWNERSHIP con la opción GRANT

En el siguiente ejemplo se concede el permiso TAKE OWNERSHIP para el extremo Shipping83 al usuario PKomosinski de SQL Server con GRANT OPTION.

USE master;  
GRANT TAKE OWNERSHIP ON ENDPOINT::Shipping83 TO PKomosinski   
    WITH GRANT OPTION;  
GO  

Consulte también

DENY (permisos de extremo de Transact-SQL)
REVOKE (permisos de extremo de Transact-SQL)
CREATE ENDPOINT (Transact-SQL)
Vistas de catálogo de extremos (Transact-SQL)
sys.endpoints (Transact-SQL)
Permisos (motor de base de datos)
Entidades de seguridad (motor de base de datos)