sp_unsetapprole (Transact-SQL)
Deaktiviert eine Anwendungsrolle und setzt den Sicherheitskontext auf den vorherigen Kontext zurück.
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
Aktivieren einer Anwendungsrolle mit einem Cookie und anschließendes Zurücksetzen auf den vorherigen Kontext
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