Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Inaktiverar en programroll och återgår till den tidigare säkerhetskontexten.
Transact-SQL syntaxkonventioner
Syntax
sp_unsetapprole [ @cookie = ] cookie
[ ; ]
Argumentpunkter
[ @cookie = ] cookie
Anger den cookie som skapades när programrollen aktiverades. @cookie är varbinary(8000), utan standard. Cookien skapas av sp_setapprole.
Anmärkning
Cookieparametern OUTPUT för dokumenteras för sp_setapprole närvarande som varbinary(8000) som är rätt maximal längd. Den aktuella implementeringen returnerar dock varbinary(50). Program bör fortsätta att reservera varbinary(8000) så att programmet fortsätter att fungera korrekt om cookiens returstorlek ökar i en framtida version.
Returnera kodvärden
0 (lyckades) och 1 (fel)
Anmärkningar
När en programroll har aktiverats med hjälp sp_setapproleav förblir rollen aktiv tills användaren antingen kopplar från servern eller kör sp_unsetapprole.
En översikt över programroller finns i Programroller.
Behörigheter
Kräver medlemskap offentligt och kunskap om cookien som sparades när programrollen aktiverades.
Exempel
Aktivera en programroll med en cookie och återgå sedan till föregående kontext
I följande exempel aktiveras programrollen Sales11 och en cookie skapas. Exemplet returnerar namnet på den aktuella användaren och återgår sedan till den ursprungliga kontexten genom att sp_unsetapproleköra . Ersätt <password> med ett starkt lösenord.
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