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


REVOKE, отмена разрешений сервера-участника (Transact-SQL)

Отменяет разрешения, выданные или запрещенные для имени входа SQL Server.

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

Синтаксис

REVOKE [ GRANT OPTION FOR ] permission [ ,...n ] } 
    ON LOGIN :: SQL_Server_login
    { FROM | TO } <server_principal> [ ,...n ]
    [ CASCADE ]
    [ 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
    Указывает разрешение, которое может быть отменено для имени входа SQL Server. Список разрешений представлен в подразделе «Примечания» в этом разделе.
  • LOGIN :: SQL_Server_login
    Указывает имя входа SQL Server для которой отменяются разрешения. Необходим квалификатор области (::).
  • { FROM | TO } SQL_Server_login
    Указывает имя входа 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, сопоставленное с ассиметричным ключом.
  • GRANT OPTION
    Показывает, что право на предоставление указанного разрешения другим участникам будет отменено. Само разрешение отменено не будет.

    ms186226.note(ru-ru,SQL.90).gifВажно!
    Если участник обладает указанным разрешением без параметра GRANT, будет отменено и само разрешение.
  • CASCADE
    Показывает, что отменяемое разрешение также отменяется у участников, получивших его через данного участника или отозванного им.

    ms186226.Caution(ru-ru,SQL.90).gifВнимание!
    Каскадная отмена разрешения, предоставленного с помощью параметра WITH GRANT OPTION, приведет к отмене разрешений GRANT и DENY для этого разрешения.
  • AS SQL_Server_login
    Указывает имя входа SQL Server, от которого участник, выполняющий этот запрос, получает права для отмены разрешения.

Замечания

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

Разрешение имени входа SQL Server Содержится в разрешении имени входа SQL Server Содержится в разрешении сервера

CONTROL

CONTROL

CONTROL SERVER

IMPERSONATE

CONTROL

CONTROL SERVER

VIEW DEFINITION

CONTROL

VIEW ANY DEFINITION

ALTER

CONTROL

ALTER ANY LOGIN

Разрешения

Требует разрешение CONTROL для имени входа или разрешение ALTER ANY LOGIN на сервер.

Примеры

А. Отмена разрешения IMPERSONATE на имя входа

Следующий пример отменяет разрешение IMPERSONATE для имени входа SQL Server WanidaBenshoof от имени входа SQL Server, созданного из пользователя Windows AdvWorks\YoonM.

USE master;
REVOKE IMPERSONATE ON LOGIN::WanidaBenshoof FROM [AdvWorks\YoonM];
GO

Б. Отмена разрешения VIEW DEFINITION с параметром CASCADE

Следующий пример отменяет разрешение VIEW DEFINITION для имени входа SQL Server EricKurjan от имени входа SQL Server RMeyyappan. Параметр CASCADE показывает, что разрешение VIEW DEFINITION для EricKurjan будет также отменено для участников, которым RMeyyappan предоставил это разрешение.

USE master;
REVOKE VIEW DEFINITION ON LOGIN::EricKurjan FROM RMeyyappan 
    CASCADE;
GO 

См. также

Справочник

sys.server_principals (Transact-SQL)
sys.server_permissions (Transact-SQL)
GRANT, предоставление разрешений серверам-участникам (Transact-SQL)
DENY, запрет разрешения на сервер-участник (Transact-SQL)
CREATE LOGIN (Transact-SQL)

Другие ресурсы

Участники
Разрешения

Справка и поддержка

Получение помощи по SQL Server 2005