Compartir a través de


sp_unsetapprole (Transact-SQL)

Desactiva un rol de aplicación y vuelve al contexto de seguridad anterior.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_unsetapprole @cookie 

Argumentos

  • @cookie
    Especifica la cookie que se creó cuando se activó el rol de aplicación. La cookie la crea sp_setapprole (Transact-SQL). varbinary(8000).

    [!NOTA]

    El parámetro OUTPUT de la cookie para sp_setapprole está documentado actualmente como varbinary(8000), que es la longitud máxima correcta. Sin embargo, la implementación actual devuelve varbinary(50). Las aplicaciones deben seguir reservando varbinary(8000) para que la aplicación siga funcionando correctamente si el tamaño de retorno de la cookie aumenta en una versión futura.

Valores de código de retorno

0 (correcto) y 1 (error)

Comentarios

Tras la activación de un rol de aplicación mediante sp_setapprole, el rol permanece activo hasta que el usuario se desconecta del servidor o ejecuta sp_unsetapprole.

Para obtener información general acerca de los roles de aplicación, vea Roles de aplicación.

Permisos

Requiere la pertenencia al rol public y conocimiento de la cookie guardada cuando se activó el rol de aplicación.

Ejemplos

En el siguiente ejemplo se activa el rol de aplicación Sales11 con la contraseña fdsd896#gfdbfdkjgh700mM y se crea una cookie. En el ejemplo se devuelve el nombre del usuario actual y se revierte al contexto original ejecutando sp_unsetapprole.

DECLARE @cookie varbinary(8000);
EXEC sp_setapprole 'Sales11', 'fdsd896#gfdbfdkjgh700mM'
    , @fCreateCookie = true, @cookie = @cookie OUTPUT;
-- The application role is now active.
SELECT USER_NAME();
-- This will return the name of the application role, Sales11.
EXEC sp_unsetapprole @cookie;
-- The application role is no longer active.
-- The original context has now been restored.
GO
SELECT USER_NAME();
-- This will return the name of the original user. 
GO 

Vea también

Referencia

sp_setapprole (Transact-SQL)

Procedimientos almacenados del sistema (Transact-SQL)

Procedimientos almacenados de seguridad (Transact-SQL)

CREATE APPLICATION ROLE (Transact-SQL)

DROP APPLICATION ROLE (Transact-SQL)