응용 프로그램 역할을 비활성화하고 이전의 보안 컨텍스트로 되돌립니다.
적용 대상: SQL Server(SQL Server 2008 - 현재 버전). |
구문
sp_unsetapprole @cookie
인수
@cookie
응용 프로그램 역할을 활성화할 때 생성된 쿠키를 지정합니다. 이 쿠키는 sp_setapprole(Transact-SQL)에 의해 생성됩니다. varbinary(8000).참고
현재 sp_setapprole에 대한 쿠키 OUTPUT 매개 변수는 정확한 최대 길이인 varbinary(8000)로 정의되어 있습니다.그러나 현재 구현은 varbinary(50)입니다.응용 프로그램은 계속해서 varbinary(8000)를 예약하여 후속 릴리스에서 쿠키 반환 크기가 늘어날 경우에도 응용 프로그램이 제대로 작동할 수 있도록 해야 합니다.
반환 코드 값
0(성공) 및 1(실패)
주의
sp_setapprole을 사용하여 응용 프로그램 역할을 활성화하면 해당 역할은 사용자가 서버와 연결이 끊어지거나 sp_unsetapprole을 실행할 때까지 활성화되어 있습니다.
응용 프로그램 역할에 대한 개요는 응용 프로그램 역할을 참조하십시오.
사용 권한
public의 멤버 자격이 필요하고 응용 프로그램 역할을 활성화할 때 저장된 쿠키를 알아야 합니다.
예
쿠키를 사용하여 응용 프로그램 역할을 활성화한 다음 이전 컨텍스트로 되돌리기
다음 예에서는 fdsd896#gfdbfdkjgh700mM 암호로 Sales11 응용 프로그램 역할을 활성화하고 쿠키를 만듭니다. 다음 예에서는 현재 사용자의 이름을 반환한 다음 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