Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Dezaktywuje rolę aplikacji i przywraca poprzedni kontekst zabezpieczeń.
Transact-SQL konwencje składni
Składnia
sp_unsetapprole [ @cookie = ] cookie
[ ; ]
Argumenty (w programowaniu)
[ @cookie = ] cookie
Określa plik cookie, który został utworzony podczas aktywowania roli aplikacji. @cookie jest varbinary(8000), bez wartości domyślnej. Plik cookie jest tworzony przez sp_setapprole.
Uwaga / Notatka
Parametr pliku cookie OUTPUT dla sp_setapprole parametru jest obecnie udokumentowany jako varbinary(8000), który jest prawidłową maksymalną długością. Jednak bieżąca implementacja zwraca varbinary(50). Aplikacje powinny nadal rezerwować elementy varbinary(8000), aby aplikacja nadal działała prawidłowo, jeśli rozmiar zwracany przez plik cookie wzrośnie w przyszłej wersji.
Zwracanie wartości kodu
0 (powodzenie) i 1 (niepowodzenie)
Uwagi
Po aktywowaniu roli aplikacji przy użyciu sp_setapproleprogramu rola pozostaje aktywna, dopóki użytkownik nie rozłączy się z serwerem lub wykona polecenie sp_unsetapprole.
Aby zapoznać się z omówieniem ról aplikacji, zobacz Role aplikacji.
Uprawnienia
Wymaga członkostwa w publicznej wersji i znajomości pliku cookie zapisanego podczas aktywowania roli aplikacji.
Przykłady
Aktywowanie roli aplikacji za pomocą pliku cookie, a następnie przywrócenie poprzedniego kontekstu
Poniższy przykład aktywuje Sales11 rolę aplikacji i tworzy plik cookie. Przykład zwraca nazwę bieżącego użytkownika, a następnie przywraca oryginalny kontekst, wykonując polecenie sp_unsetapprole. Zastąp <password> ciąg silnym hasłem.
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