sp_unsetapprole (Transact-SQL)

Se aplica a:SQL Server

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

Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_unsetapprole [ @cookie = ] cookie
[ ; ]

Argumentos

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

Nota:

El parámetro cookie OUTPUT de sp_setapprole se documenta actualmente como varbinary(8000), que es la longitud máxima correcta. Pero 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 devolución de cookies aumenta en una versión futura.

Valores de código de retorno

0 (correcto) y 1 (error)

Comentarios

Después de activar un rol de aplicación mediante sp_setapprole, el rol permanece activo hasta que el usuario se desconecta sp_unsetapproledel servidor o ejecuta .

Para obtener información general sobre los roles de aplicación, consulte Roles de aplicación.

Permisos

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

Ejemplos

En el siguiente ejemplo se habilita 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();

-- 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

-- Return the name of the original user.
SELECT USER_NAME();
GO