Freigeben über


sp_unsetapprole (Transact-SQL)

Deaktiviert eine Anwendungsrolle und setzt den Sicherheitskontext auf den vorherigen Kontext zurück.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_unsetapprole @cookie 

Arguments

  • @cookie
    Gibt das Cookie an, das beim Aktivieren der Anwendungsrolle erstellt wurde. Das Cookie wird durch sp_setapprole (Transact-SQL) erstellt und besitzt den Datentyp varbinary(8000).

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

Eine durch sp_setapprole aktivierte Anwendungsrolle bleibt aktiv, bis der Benutzer die Serververbindung trennt oder bis er sp_unsetapprole ausführt.

Eine Übersicht über Anwendungsrollen finden Sie unter Anwendungsrollen.

Berechtigungen

Erfordert die Mitgliedschaft in public und die Kenntnis des Cookies, das beim Aktivieren der Anwendungsrolle erstellt wurde.

Beispiele

Im folgenden Beispiel wird die Sales11-Anwendungsrolle mit dem Kennwort fdsd896#gfdbfdkjgh700mM aktiviert, und es wird ein Cookie erstellt. Der Name des aktuellen Benutzers wird zurückgegeben, und der Kontext wird anschließend durch Ausführen von sp_unsetapprole auf den ursprünglichen Kontext zurückgesetzt.

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