Compartilhar via


sp_unsetapprole (Transact-SQL)

Desativa uma função de aplicativo e reverte para o contexto de segurança anterior.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

sp_unsetapprole @cookie 

Argumentos

  • @cookie
    Especifica o cookie criado quando a função de aplicativo foi ativada. O cookie é criado por sp_setapprole (Transact-SQL). varbinary(8000).

    ObservaçãoObservação

    O parâmetro OUTPUT de cookie para sp_setapprole é documentado atualmente 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 de retorno do cookie aumentar em uma versão futura.

Valores do código de retorno

0 (êxito) e 1 (falha)

Comentários

Após uma função de aplicativo ser ativada com sp_setapprole, ela permanece ativa até o usuário se desconectar do servidor ou executar sp_unsetapprole.

Para obter uma visão geral das funções de aplicativo, consulte Funções de aplicativo.

Permissões

Requer associação em public e conhecimento do cookie salvo quando a função de aplicativo foi ativada.

Exemplos

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();
-- 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 

Consulte também

Referência

sp_setapprole (Transact-SQL)

Procedimentos armazenados do sistema (Transact-SQL)

Procedimentos armazenados de segurança (Transact-SQL)

CREATE APPLICATION ROLE (Transact-SQL)

DROP APPLICATION ROLE (Transact-SQL)