Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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_setapproleo , 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 Sales11 aplicativo e cria um cookie. O exemplo retorna o nome do usuário atual e, em seguida, reverte para o contexto original executando sp_unsetapprole. Substitua por <password> uma senha forte.
DECLARE @cookie AS VARBINARY (8000);
EXECUTE sp_setapprole 'Sales11',
'<password>',
@fCreateCookie = true,
@cookie = @cookie OUTPUT;
-- The application role is now active.
SELECT USER_NAME();
-- Return the name of the application role, Sales11.
EXECUTE 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