Udostępnij za pomocą


sp_unsetapprole (Transact-SQL)

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)

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

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