sp_unsetapprole (Transact-SQL)
Деактивирует роль приложения и возвращает к предыдущему контексту безопасности.
Синтаксис
sp_unsetapprole @cookie
Аргументы
- @cookie
Указывает файл «cookie», который был создан при активации роли приложения. Файл «cookie» создает процедура sp_setapprole (Transact-SQL). varbinary(8000).
Значения кодов возврата
0 (успешное завершение) и 1 (неуспешное завершение)
Замечания
После активации роли приложения с помощью процедуры sp_setapprole роль остается активной до тех пор, пока пользователь либо отсоединится от сервера, либо выполнит процедуру sp_unsetapprole.
Обзор ролей приложения см. в разделе Роли приложений.
Разрешения
Необходимо членство в роли public и знание файла «cookie», сохраненного при активации роли приложения.
Примеры
Активация роли приложения с помощью файла «cookie», затем возврат к предыдущему контексту
В следующем примере активируется роль приложения Sales11 с паролем fdsd896#gfdbfdkjgh700mM и создается файл «cookie». В примере возвращается имя текущего пользователя, после чего происходит возврат к исходному контексту с помощью выполнения процедуры sp_unsetapprole.
DECLARE @cookie varbinary(8000);
EXEC sp_setapprole 'Sales11', 'fdsd896#gfdbfdkjgh700mM'
, @fCreateCookie = true, @cookie = @cookie OUTPUT;
-- The application role is now active.
SELECT USER_NAME();
-- This will return the name of the application role, Sales11.
EXEC sp_unsetapprole @cookie;
-- The application role is no longer active.
-- The original context has now been restored.
GO
SELECT USER_NAME();
-- This will return the name of the original user.
GO