Partilhar via


sp_unsetapprole (Transact-SQL)

Aplica-se a: 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

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

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

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