Disponibilidad de los permisos de grupo DENY (Transact-SQL)
Deniega los permisos en un grupo de disponibilidad AlwaysOn de SQL Server.
Se aplica a: SQL Server (desde SQL Server 2012 hasta la versión actual). |
Convenciones de sintaxis de Transact-SQL (Transact-SQL)
Sintaxis
DENY permission [ ,...n ] ON AVAILABILITY GROUP :: availability_group_name
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 denegar en un grupo de disponibilidad. Para obtener una lista de permisos, vea la sección Comentarios más adelante en este tema.ON AVAILABILITY GROUP ::availability_group_name
Especifica el grupo de disponibilidad en el que se va a denegar el permiso. Se necesita el calificador de ámbito (::).TO <server_principal>
Especifica el inicio de sesión de SQL Server para el que se va a denegar 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.CASCADE
Indica que el permiso que se va a denegar también se denegará a otras entidades de seguridad a las que esta entidad de seguridad ha concedido permisos.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 denegar el permiso.
Comentarios
Los permisos del ámbito del servidor solo pueden denegarse si la base de datos actual es master.
Puede ver la información acerca de los grupos de disponibilidad en la vista de catálogo sys.availability_groups (Transact-SQL). Puede ver la información acerca de los permisos del servidor en la vista de catálogo sys.server_permissions, mientras que la información acerca de 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 denegar 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 AVAILABILTIY GROUP en el servidor.
Ejemplos
A.Denegar el permiso VIEW DEFINITION en un grupo de disponibilidad
En el siguiente ejemplo se deniega el permiso VIEW DEFINITION en el grupo de disponibilidad MyAg para el inicio de sesión ZArifinde SQL Server.
USE master;
DENY VIEW DEFINITION ON AVAILABILITY GROUP::MyAg TO ZArifin;
GO
B.Denegar el permiso TAKE OWNERSHIP con la opción CASCADE
En el siguiente ejemplo se deniega el permiso TAKE OWNERSHIP en el grupo de disponibilidad MyAg al usuario de SQL Server PKomosinski con la opción CASCADE.
USE master;
DENY TAKE OWNERSHIP ON AVAILABILITY GROUP::MyAg TO PKomosinski
CASCADE;
GO
Vea también
Referencia
Disponibilidad de los permisos de grupo REVOKE (Transact-SQL)
Disponibilidad de los permisos de grupo GRANT (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
sys.availability_groups (Transact-SQL)
Conceptos
Permisos (motor de base de datos)
Entidades de seguridad (motor de base de datos)
Otros recursos
Vistas de catálogo de grupos de disponibilidad AlwaysOn (Transact-SQL)