sp_unsetapprole (Transact-SQL)
Aplica-se: SQL Server
Desativa uma função de aplicativo e reverte para o contexto de segurança anterior.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_unsetapprole [ @cookie = ] cookie
[ ; ]
Argumentos
@cookie [ = ] biscoito
Especifica o cookie criado quando a função de aplicativo foi ativada. @cookie é varbinary(8000), sem padrão. O cookie é criado por sp_setapprole.
Observação
O parâmetro cookie OUTPUT
for sp_setapprole
está atualmente documentado como varbinary(8000), que é o comprimento máximo correto. No entanto, a implementação atual retorna varbinary(50) . Os aplicativos devem continuar a reservar varbinary(8000) para que o aplicativo continue a operar corretamente se o tamanho do retorno do cookie aumentar em uma versão futura.
Valores do código de retorno
0 (êxito) e 1 (falha)
Comentários
Depois que uma função de aplicativo é ativada usando sp_setapprole
o , a função permanece ativa até que o usuário se desconecte do servidor ou execute sp_unsetapprole
.
Para obter uma visão geral das funções de aplicativo, consulte Funções de aplicativo.
Permissões
Requer associação em público e conhecimento do cookie salvo quando a função do aplicativo foi ativada.
Exemplos
Ativar uma função de aplicativo com um cookie e, em seguida, reverter para o contexto anterior
O exemplo a seguir ativa a função de aplicativo Sales11
com a senha fdsd896#gfdbfdkjgh700mM
e cria um cookie. O exemplo retorna o nome do usuário atual e, em seguida, reverte para o contexto original executando 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