Disponibilidad de los permisos de grupo REVOKE (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
Revoca los permisos en un grupo de disponibilidad Always On.
Convenciones de sintaxis de Transact-SQL
Sintaxis
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]
ON AVAILABILITY GROUP :: availability_group_name
{ 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
Argumentos
permission
Especifica un permiso que se puede revocar en un grupo de disponibilidad. Para obtener una lista de permisos, vea la sección Comentarios que se muestra posteriormente en este tema.
ON AVAILABILITY GROUP ::availability_group_name
Especifica el grupo de disponibilidad en el que se va a revocar el permiso. El calificador de ámbito ( :: ) es obligatorio.
{ FROM | TO } <server_principal> Especifica el inicio de sesión de SQL Server al que se va a revocar 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.
GRANT OPTION
Indica que se revocará el derecho de conceder el permiso especificado a otras entidades de seguridad. No se revocará el permiso.
Importante
Si la entidad de seguridad dispone del permiso especificado sin la opción GRANT, se revocará el permiso.
CASCADE
Indica que el permiso que se va a revocar también se revocará de otras entidades de seguridad a las que esta entidad de seguridad ha concedido o denegado permisos.
Importante
Una revocación en cascada de un permiso concedido WITH GRANT OPTION revocará tanto GRANT como DENY de dicho permiso.
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 para revocar el permiso.
Observaciones
Los permisos del ámbito de servidor solo pueden revocarse si la base de datos actual es master.
Encontrará información sobre los grupos de disponibilidad en la vista de catálogo sys.availability_groups (Transact-SQL). 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 grupo de disponibilidad es un elemento protegible en el nivel servidor. La mayoría de permisos limitados y específicos que se pueden revocar en un grupo de disponibilidad se muestran en la siguiente tabla, junto con permisos más generales que los incluyen por implicación.
Permiso de grupos de disponibilidad | Permiso implícito en el grupo de disponibilidad | Implícito en el permiso de servidor |
---|---|---|
ALTER | CONTROL | ALTER ANY AVAILABILITY GROUP |
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 grupo de disponibilidad o el permiso ALTER ANY AVAILABILITY GROUP en el servidor.
Ejemplos
A. Revocar el permiso VIEW DEFINITION en un grupo de disponibilidad
En el siguiente ejemplo se revoca el VIEW DEFINITION
permiso en el grupo de disponibilidadMyAg
para el inicio de sesión ZArifin
de SQL Server.
USE master;
REVOKE VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;
GO
B. Revocar el permiso TAKE OWNERSHIP con CASCADE
En el siguiente ejemplo se revoca el permiso TAKE OWNERSHIP
en el grupo de disponibilidad MyAg
para el usuario PKomosinski
de SQL Server y desde todas las entidades de seguridad a las que PKomosinski
concedió TAKE OWNERSHIP en MyAg.
USE master;
REVOKE TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski
CASCADE;
GO
C. Revocar una cláusula WITH GRANT OPTION previamente concedida
Si un permiso se concede mediante WITH GRANT OPTION, use REVOKE GRANT OPTION FOR… para quitar WITH GRANT OPTION. El siguiente ejemplo concede el permiso y después quita la parte WITH GRANT del mismo.
USE master;
GRANT CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski
WITH GRANT OPTION;
GO
REVOKE GRANT OPTION FOR CONTROL ON AVAILABILITY GROUP::MyAg TO PKomosinski
CASCADE
GO
Consulte también
Disponibilidad de los permisos de grupo GRANT (Transact-SQL)
Disponibilidad de los permisos de grupo DENY (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
Vistas de catálogo de grupos de disponibilidad Always On (Transact-SQL)
Permisos (motor de base de datos)
Entidades de seguridad (motor de base de datos)