Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Hiermee wordt een toepassingsrol gedeactiveerd en wordt teruggezet naar de vorige beveiligingscontext.
Transact-SQL syntaxis-conventies
Syntaxis
sp_unsetapprole [ @cookie = ] cookie
[ ; ]
Argumenten
[ @cookie = ] cookie
Hiermee geeft u de cookie op die is gemaakt toen de toepassingsrol werd geactiveerd. @cookie is varbinary(8000), zonder standaardwaarde. De cookie wordt gemaakt door sp_setapprole.
Opmerking
De cookieparameter OUTPUT voor sp_setapprole wordt momenteel gedocumenteerd als varbinary(8000) die de juiste maximale lengte is. De huidige implementatie retourneert echter varbinary(50). Toepassingen moeten varbinary(8000) blijven reserveren, zodat de toepassing correct blijft functioneren als de cookie-retourgrootte in een toekomstige release toeneemt.
Codewaarden retourneren
0 (geslaagd) en 1 (fout)
Opmerkingen
Nadat een toepassingsrol is geactiveerd met behulp sp_setapprolevan, blijft de rol actief totdat de gebruiker de verbinding met de server verbreekt of wordt uitgevoerd sp_unsetapprole.
Zie Toepassingsrollen voor een overzicht van toepassingsrollen.
Machtigingen
Vereist lidmaatschap van het publiek en kennis van de cookie die is opgeslagen toen de toepassingsrol werd geactiveerd.
Voorbeelden
Een toepassingsrol activeren met een cookie en vervolgens terugkeren naar de vorige context
In het volgende voorbeeld wordt de Sales11 toepassingsrol geactiveerd en wordt een cookie gemaakt. Het voorbeeld retourneert de naam van de huidige gebruiker en keert vervolgens terug naar de oorspronkelijke context door deze uit te sp_unsetapprolevoeren. Vervang <password> door een sterk wachtwoord.
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