Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:SQL Server
Деактивирует роль приложения и возвращает к предыдущему контексту безопасности.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_unsetapprole [ @cookie = ] cookie
[ ; ]
Аргументы
[ @cookie = ] cookie
Указывает куки-файл, который был создан при активации роли приложения. @cookie — varbinary(8000), без значения по умолчанию. Файл cookie создается sp_setapprole.
Примечание.
Параметр cookie OUTPUT для в sp_setapprole настоящее время задокументирован как varbinary(8000), который является правильной максимальной длиной. Однако текущая реализация возвращает параметр varbinary(50). Приложения должны продолжать резервировать varbinary(8000), чтобы приложение продолжало работать правильно, если размер возвращаемого файла cookie увеличивается в будущем выпуске.
Значения кода возврата
0 (успешное завершение) и 1 (неуспешное завершение)
Замечания
После активации роли приложения с помощью sp_setapproleроли роль остается активной до тех пор, пока пользователь не отключается от сервера или не выполняется sp_unsetapprole.
Общие сведения о ролях приложений см. в разделе "Роли приложения".
Разрешения
Требуется членство в общедоступной среде и знания файла cookie, сохраненного при активации роли приложения.
Примеры
Активация роли приложения с помощью файла cookie, а затем возврат к предыдущему контексту
В следующем примере активируется Sales11 роль приложения и создается файл cookie. В примере возвращается имя текущего пользователя, после чего происходит возврат к исходному контексту с помощью выполнения процедуры sp_unsetapprole. Замените <password> строгим паролем.
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