다음을 통해 공유


sp_unsetapprole(Transact-SQL)

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

적용 대상: SQL Server(SQL Server 2008 - 현재 버전).

항목 링크 아이콘 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)