다음을 통해 공유


sp_unsetapprole(Transact-SQL)

응용 프로그램 역할을 비활성화하고 이전의 보안 컨텍스트로 되돌립니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

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 

참고 항목

참조

sp_setapprole(Transact-SQL)

시스템 저장 프로시저(Transact-SQL)

보안 저장 프로시저(Transact-SQL)

CREATE APPLICATION ROLE(Transact-SQL)

DROP APPLICATION ROLE(Transact-SQL)