Поделиться через


GRANT, предоставление разрешений на конечные точки (Transact-SQL)

Предоставляет разрешения на конечные точки.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

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

Аргументы

  • permission
    Определяет разрешения, на конечную точку, которые могут быть предоставлены. Список разрешений см. ниже в разделе «Примечания».

  • ON ENDPOINT **::**endpoint_name
    Указывает конечную точку, на которую предоставляется разрешение. Требуется квалификатор области (задается через знак ::).

  • TO <server_principal>
    Указывает SQL Server имя входа, которому будут представлены разрешения.

  • SQL_Server_login
    Задает имя входа SQL Server.

  • SQL_Server_login_from_Windows_login
    Задает имя входа SQL Server, созданное из учетных данных Windows.

  • SQL_Server_login_from_certificate
    Задает имя входа SQL Server, сопоставленное с сертификатом.

  • SQL_Server_login_from_AsymKey
    Задает имя входа SQL Server, сопоставленное с ассиметричным ключом.

  • WITH GRANT OPTION
    Показывает, что участнику будет дана возможность предоставлять указанное разрешение другим администраторам доступа.

  • AS SQL_Server_login
    Указывает имя входа SQL Server, с использованием которого участник, выполняющий этот запрос, осуществляет свое право на предоставление разрешений.

Замечания

Разрешения в области сервера предоставляются только в том случае, если текущая база данных является master.

Сведения о конечных точках видны в представлении каталога sys.endpoints. Сведения о серверных разрешениях видны в представлении каталога sys.server_permissions, а сведения об участниках [системы безопасности] на уровне сервера видны в представлении каталога sys.server_principals.

Конечная точка — это защищаемый объект на уровне сервера. Наиболее специфичные и ограниченные разрешения, которые могут быть выданы на конечную точку, перечислены в следующей таблице, вместе с общими разрешениями, неявно содержащими их.

Разрешение конечной точки

Содержится в разрешении конечной точки

Содержится в разрешении сервера

ALTER

CONTROL

ALTER ANY ENDPOINT

CONNECT

CONTROL

CONTROL SERVER

CONTROL

CONTROL

CONTROL SERVER

TAKE OWNERSHIP

CONTROL

CONTROL SERVER

VIEW DEFINITION

CONTROL

VIEW ANY DEFINITION

Разрешения

Требует разрешения CONTROL в конечной точке или разрешение ALTER ANY ENDPOINT на сервере.

Примеры

А. Предоставление разрешения VIEW DEFINITION на конечную точку

В следующем примере предоставлено разрешение VIEW DEFINITION на конечную точку Mirror7 для учетной записи ZArifin от SQL Server.

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

Б. Предоссавление разрешения TAKE OWNERSHIP с параметром GRANT OPTION

В следующем примере предоставляется разрешение TAKE OWNERSHIP на конечную точку Shipping83 для пользователя PKomosinski от SQL Server с GRANT OPTION.

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